diff --git a/README.md b/README.md
index 6bed5a61aa0b099683755ca5253330b1ad1b6b82..b22e72de8f7f350d86ea73b4c357b151aaed7861 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ Horizon is a haskell package set targetting new builds of GHC.
 The package set is generated from the `manifest.dhall` using the following command:
 
 ```
-nix run git+https://gitlab.homotopic.tech/horizon/horizon-gen-nix
+nix run .#horizon-gen-nix
 ```
 
 This will generate both the `pkgs` folder and the `overlay.nix`. If you want to
diff --git a/flake.nix b/flake.nix
index 4c24f1e82fb0505725ac1040543ca7dbb8656ea5..1635376293913b76d9a7158e9d0b678341e44559 100644
--- a/flake.nix
+++ b/flake.nix
@@ -19,8 +19,15 @@
             && v.type == "derivation"
             && v.meta.broken == false)
           hp;
+        horizon-gen-nix = pkgs.writers.writeBashBin "horizon-gen-nix" "nix run git+https://gitlab.homotopic.tech/horizon/horizon-gen-nix";
       in
       {
+        apps = {
+          horizon-gen-nix = {
+            type = "app";
+            program = "${horizon-gen-nix}/bin/horizon-gen-nix";
+          };
+        };
         checks = {
           dhall-format = lint-utils.outputs.linters.x86_64-linux.dhall-format ./.;
           nixpkgs-fmt = lint-utils.outputs.linters.x86_64-linux.nixpkgs-fmt ./.;