diff --git a/.cachix.dhall b/.cachix.dhall
deleted file mode 100644
index 8420522d303a703b4dcb41234ef053c9d61b489d..0000000000000000000000000000000000000000
--- a/.cachix.dhall
+++ /dev/null
@@ -1,39 +0,0 @@
-let Prelude =
-        env:DHALL_PRELUDE
-      ? https://raw.githubusercontent.com/dhall-lang/dhall-lang/v20.1.0/Prelude/package.dhall
-          sha256:26b0ef498663d269e4dc6a82b0ee289ec565d683ef4c00d0ebdd25333a5a3c98
-
-let H =
-      https://gitlab.horizon-haskell.net/dhall/horizon-spec/-/raw/0.10.0/horizon-spec/package.dhall
-
-let toStep
-    : Text → Text
-    = λ(x : Text) →
-        "nix build --accept-flake-config --json .#${x} | jq -r '.[].outputs | to_entries[].value' | cachix push horizon"
-
-let toEchoStep
-    : Text → Text
-    = λ(x : Text) → "echo \"${toStep x}\""
-
-let input =
-      Prelude.Map.keys
-        Text
-        H.HaskellPackage.Type
-        ( merge
-            { MakePackageSet =
-                λ(x : H.PackageSetExportSettings) → x.packageSet.packages
-            , MakeOverlay = λ(x : H.OverlayExportSettings) → x.overlay.packages
-            }
-            ./horizon.dhall
-        )
-
-let packages = Prelude.List.map Text Text toEchoStep (input : List Text)
-
-in      "("
-    ++  Prelude.List.fold
-          Text
-          packages
-          Text
-          (λ(x : Text) → λ(y : Text) → x ++ ";" ++ y)
-          ""
-    ++  ") | parallel -j 16"
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5cb6ab10bc310602eca4ca4a07dce5198a7f5be5..c1c355071847c388c4a9b89a7dd8d5f74eaaf2a8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,20 +1,21 @@
 stages:
 - generate
-- check
+- flake
 - cache
 
 generate-flake-ci:
   stage: generate
-  script: nix run "git+https://gitlab.homotopic.tech/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.2.0" > flake-ci.yml
+  script:
+  - nix run "git+https://gitlab.nixica.dev/haskell/flake-to-gitlab-ci?ref=refs/tags/0.2.4.1" > flake-ci-x86_64-linux.yml
   artifacts:
     paths:
-      - flake-ci.yml
+      - flake-ci-x86_64-linux.yml
 
-flake-ci:
-  stage: check
+x86_64-linux-ci:
+  stage: flake
   trigger:
     include:
-      - artifact: flake-ci.yml
+      - artifact: flake-ci-x86_64-linux.yml
         job: generate-flake-ci
     strategy: depend
 
@@ -24,4 +25,5 @@ cachix:
     refs:
     - master
     - cachix
-  script: nix-shell -p jq cachix parallel --command 'dhall --file .cachix.dhall | dhall text | bash'
+  script:
+  - nix-shell -p cachix --command "nix build github:srid/devour-flake -L --no-link --print-out-paths --override-input flake . | xargs cat | cachix push horizon"