diff --git a/flake.nix b/flake.nix
index 3c683717596cb0b24e7ac34bfb6ce5fdf16040b3..021ed188267173b5823c8d17e1f7dd070699f6c9 100644
--- a/flake.nix
+++ b/flake.nix
@@ -51,5 +51,21 @@
           }
         }/bin/cabal-build-and-test";
       };
+      apps.release = {
+        type = "app";
+        program = "${
+          pkgs.writeShellApplication {
+            name = "release";
+            runtimeInputs = with pkgs; [cabal-install];
+            text = ''
+              set -x
+              sdist=$(cabal sdist | tail -n 1)
+              haddocks=$(cabal haddock --haddock-for-hackage | tail -n 1)
+              cabal upload "$sdist"
+              cabal upload --documentation "$haddocks"
+            '';
+          }
+        }/bin/release";
+      };
     });
 }