diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml
index d86192cd5a5f35487cf2eec8f605fc8210d97ce6..1ac391b14c943ce065644df38fcdba647b3e60b9 100644
--- a/.github/workflows/nix.yml
+++ b/.github/workflows/nix.yml
@@ -12,9 +12,8 @@ jobs:
     steps:
       - uses: actions/checkout@v4
       - uses: DeterminateSystems/nix-installer-action@main
-        with:
-          extra-conf: |
-            trusted-substituters = https://gepetto.cachix.org
-            trusted-public-keys = gepetto.cachix.org-1:toswMl31VewC0jGkN6+gOelO2Yom0SOHzPwJMY2XiDY=
       - uses: DeterminateSystems/magic-nix-cache-action@main
-      - run: nix build --accept-flake-config
+      - run: nix --accept-flake-config build -L
+      - run: nix --accept-flake-config run .#cachix push gepetto $(readlink result)
+        env:
+          CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
diff --git a/flake.nix b/flake.nix
index 51f799ffdb2e45793e54338e7e5cb432232d3458..e2b8613b70db4527689b17281c7a7d10ec03f050 100644
--- a/flake.nix
+++ b/flake.nix
@@ -37,9 +37,12 @@
           ...
         }:
         {
-          packages.default = pkgs.callPackage ./. {
-            hpp-centroidal-dynamics = inputs.hpp-centroidal-dynamics.packages.${system}.default;
-            ndcurves = inputs.ndcurves.packages.${system}.default;
+          packages = {
+            inherit (pkgs) cachix;
+            default = pkgs.callPackage ./. {
+              hpp-centroidal-dynamics = inputs.hpp-centroidal-dynamics.packages.${system}.default;
+              ndcurves = inputs.ndcurves.packages.${system}.default;
+            };
           };
           devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
         };