diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml
index 94883509ceeba1aa882e7b46fcdb0242afc84ead..cc47550d2ea2cc1067ae03ed66d1d93c0a291ace 100644
--- a/.github/workflows/nix.yml
+++ b/.github/workflows/nix.yml
@@ -1,6 +1,7 @@
-name: "Nix CI"
+name: "CI - Nix"
 
-on: [pull_request, push]
+on:
+  push:
 
 jobs:
   tests:
@@ -11,10 +12,9 @@ jobs:
         os: [ubuntu]
     steps:
       - uses: actions/checkout@v4
-      - uses: DeterminateSystems/nix-installer-action@main
-      - uses: DeterminateSystems/magic-nix-cache-action@main
-      - run: nix --accept-flake-config build -L
-      - run: nix --accept-flake-config run .#cachix push gepetto $(readlink result)
-        if: github.repository_owner == 'humanoid-path-planner'
-        env:
-          CACHIX_AUTH_TOKEN: ${{ secrets.CACHIX_AUTH_TOKEN }}
+      - uses: cachix/install-nix-action@v27
+      - uses: cachix/cachix-action@v15
+        with:
+          name: gepetto
+          authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
+      - run: nix build -L
diff --git a/default.nix b/default.nix
deleted file mode 100644
index fbaa668f01276bc0ce0ae3aad44fe15dd8654fad..0000000000000000000000000000000000000000
--- a/default.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  lib,
-  stdenv,
-  cmake,
-  hpp-core,
-  hpp-universal-robot,
-}:
-
-stdenv.mkDerivation {
-  pname = "hpp-manipulation";
-  version = "5.0.0";
-
-  src = lib.fileset.toSource {
-    root = ./.;
-    fileset = lib.fileset.unions [
-      ./CMakeLists.txt
-      ./doc
-      ./include
-      ./package.xml
-      ./plugins
-      ./src
-      ./tests
-    ];
-  };
-
-  strictDeps = true;
-
-  nativeBuildInputs = [ cmake ];
-  propagatedBuildInputs = [
-    hpp-core
-    hpp-universal-robot
-  ];
-
-  doCheck = true;
-
-  meta = {
-    description = "Classes for manipulation planning";
-    homepage = "https://github.com/humanoid-path-planner/hpp-manipulation";
-    license = lib.licenses.bsd2;
-    maintainers = [ lib.maintainers.nim65s ];
-  };
-}
diff --git a/flake.lock b/flake.lock
index c03e5d0fd003d8b8bbf36b55f516b115c2065477..291df1360a2c22a6c50889fffd952a39bf8262a0 100644
--- a/flake.lock
+++ b/flake.lock
@@ -20,219 +20,17 @@
         "type": "github"
       }
     },
-    "hpp-constraints": {
-      "inputs": {
-        "flake-parts": [
-          "hpp-core",
-          "flake-parts"
-        ],
-        "hpp-pinocchio": "hpp-pinocchio",
-        "hpp-statistics": "hpp-statistics",
-        "hpp-util": "hpp-util",
-        "nixpkgs": [
-          "hpp-core",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719584695,
-        "narHash": "sha256-8K94IgUt8kpdRDASnstfX14cBQN4ZK6+LmvOuq6Sg0I=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-constraints",
-        "rev": "acd1c62fdfcdb329fd0dea19ae2f18e471e3ef08",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "ref": "release/5.1.0",
-        "repo": "hpp-constraints",
-        "type": "github"
-      }
-    },
-    "hpp-core": {
-      "inputs": {
-        "flake-parts": [
-          "flake-parts"
-        ],
-        "hpp-constraints": "hpp-constraints",
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719770669,
-        "narHash": "sha256-GzlQ4kfiMUf9qVP5t+/qoQZbBIOe1JPdmL7+86dJVaQ=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-core",
-        "rev": "5aa007c687c080608c9864d239f523d452bd7181",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-core",
-        "type": "github"
-      }
-    },
-    "hpp-environments": {
-      "inputs": {
-        "flake-parts": [
-          "hpp-core",
-          "hpp-constraints",
-          "hpp-pinocchio",
-          "flake-parts"
-        ],
-        "nixpkgs": [
-          "hpp-core",
-          "hpp-constraints",
-          "hpp-pinocchio",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719580427,
-        "narHash": "sha256-T76zgTJrGm7maKBPwgX+FgQ7MPN7NoLvdZvzARPo9V0=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-environments",
-        "rev": "1c727bcc85145a1f5236357fa73df5a183a31f04",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "ref": "release/5.1.0",
-        "repo": "hpp-environments",
-        "type": "github"
-      }
-    },
-    "hpp-pinocchio": {
-      "inputs": {
-        "flake-parts": [
-          "hpp-core",
-          "hpp-constraints",
-          "flake-parts"
-        ],
-        "hpp-environments": "hpp-environments",
-        "hpp-util": [
-          "hpp-core",
-          "hpp-constraints",
-          "hpp-util"
-        ],
-        "nixpkgs": [
-          "hpp-core",
-          "hpp-constraints",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719582071,
-        "narHash": "sha256-sRWf973UZIdyrS0fhd+vXdTucR9d7Eks9yU85kcFxfo=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-pinocchio",
-        "rev": "4ec6186223ce18f4c48605421a7ef583fe827352",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "ref": "release/5.1.0",
-        "repo": "hpp-pinocchio",
-        "type": "github"
-      }
-    },
-    "hpp-statistics": {
-      "inputs": {
-        "flake-parts": [
-          "hpp-core",
-          "hpp-constraints",
-          "flake-parts"
-        ],
-        "hpp-util": [
-          "hpp-core",
-          "hpp-constraints",
-          "hpp-util"
-        ],
-        "nixpkgs": [
-          "hpp-core",
-          "hpp-constraints",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719582334,
-        "narHash": "sha256-bzGI7z6hTGkuNs71Vcb3vsVpey1SuR7Okx4rJU1LHFs=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-statistics",
-        "rev": "613b1f9c2788cb33097c1f1c0e4216420665a1e0",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "ref": "release/5.1.0",
-        "repo": "hpp-statistics",
-        "type": "github"
-      }
-    },
-    "hpp-universal-robot": {
-      "inputs": {
-        "flake-parts": [
-          "flake-parts"
-        ],
-        "nixpkgs": [
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719769533,
-        "narHash": "sha256-Fyq7P+YZDGUKxOrif0id1WIeMKu5o/7FM+CRpBCPC2A=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-universal-robot",
-        "rev": "789a540f150b7dc50f3409d94338b7aa96f74084",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-universal-robot",
-        "type": "github"
-      }
-    },
-    "hpp-util": {
-      "inputs": {
-        "flake-parts": [
-          "hpp-core",
-          "hpp-constraints",
-          "flake-parts"
-        ],
-        "nixpkgs": [
-          "hpp-core",
-          "hpp-constraints",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1719580825,
-        "narHash": "sha256-trfl8A+P7a1gnACnTXNK98TYWWDAOM3PKfkXxpC3X/8=",
-        "owner": "humanoid-path-planner",
-        "repo": "hpp-util",
-        "rev": "0504f15818a92c7a257cd6b60cd8b6092bd6dbfa",
-        "type": "github"
-      },
-      "original": {
-        "owner": "humanoid-path-planner",
-        "ref": "release/5.1.0",
-        "repo": "hpp-util",
-        "type": "github"
-      }
-    },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1719674427,
-        "narHash": "sha256-z2hCpVyfnmYTA5iabf1SW4peFV9itE1JJcXNBKIFkDg=",
-        "owner": "nim65s",
+        "lastModified": 1727174734,
+        "narHash": "sha256-xa3TynMF5vaWonmTOg/Ejc1Fmo0GkQnCaVRVkBc3z2I=",
+        "owner": "gepetto",
         "repo": "nixpkgs",
-        "rev": "b81610d293fac26c2ec6a81718a979bc25f8c155",
+        "rev": "0ad139a0e4372abc12320c8c92ee90e0e5e296e1",
         "type": "github"
       },
       "original": {
-        "owner": "nim65s",
-        "ref": "gepetto",
+        "owner": "gepetto",
         "repo": "nixpkgs",
         "type": "github"
       }
@@ -240,8 +38,6 @@
     "root": {
       "inputs": {
         "flake-parts": "flake-parts",
-        "hpp-core": "hpp-core",
-        "hpp-universal-robot": "hpp-universal-robot",
         "nixpkgs": "nixpkgs"
       }
     }
diff --git a/flake.nix b/flake.nix
index b2c1c393e825c8ae1c6056752500e3a29393842a..c811058e084d1ff128820dcdfe9b70de79388fc8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,33 +1,17 @@
 {
   description = "Classes for manipulation planning";
 
-  nixConfig = {
-    extra-substituters = [ "https://gepetto.cachix.org" ];
-    extra-trusted-public-keys = [ "gepetto.cachix.org-1:toswMl31VewC0jGkN6+gOelO2Yom0SOHzPwJMY2XiDY=" ];
-  };
-
   inputs = {
-    nixpkgs.url = "github:nim65s/nixpkgs/gepetto";
+    nixpkgs.url = "github:gepetto/nixpkgs";
     flake-parts = {
       url = "github:hercules-ci/flake-parts";
       inputs.nixpkgs-lib.follows = "nixpkgs";
     };
-    hpp-core = {
-      url = "github:humanoid-path-planner/hpp-core";
-      inputs.nixpkgs.follows = "nixpkgs";
-      inputs.flake-parts.follows = "flake-parts";
-    };
-    hpp-universal-robot = {
-      url = "github:humanoid-path-planner/hpp-universal-robot";
-      inputs.nixpkgs.follows = "nixpkgs";
-      inputs.flake-parts.follows = "flake-parts";
-    };
   };
 
   outputs =
-    inputs@{ flake-parts, ... }:
-    flake-parts.lib.mkFlake { inherit inputs; } {
-      imports = [ ];
+    inputs:
+    inputs.flake-parts.lib.mkFlake { inherit inputs; } {
       systems = [
         "x86_64-linux"
         "aarch64-linux"
@@ -35,21 +19,26 @@
         "x86_64-darwin"
       ];
       perSystem =
+        { pkgs, self', ... }:
         {
-          self',
-          pkgs,
-          system,
-          ...
-        }:
-        {
+          devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
           packages = {
-            inherit (pkgs) cachix;
-            default = pkgs.callPackage ./. {
-              hpp-core = inputs.hpp-core.packages.${system}.default;
-              hpp-universal-robot = inputs.hpp-universal-robot.packages.${system}.default;
-            };
+            default = self'.packages.hpp-manipulation;
+            hpp-manipulation = pkgs.hpp-manipulation.overrideAttrs (_: {
+              src = pkgs.lib.fileset.toSource {
+                root = ./.;
+                fileset = pkgs.lib.fileset.unions [
+                  ./CMakeLists.txt
+                  ./doc
+                  ./include
+                  ./package.xml
+                  ./plugins
+                  ./src
+                  ./tests
+                ];
+              };
+            });
           };
-          devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
         };
     };
 }