diff --git a/dev/packages.nix b/dev/packages.nix
new file mode 100644
index 0000000..69d8043
--- /dev/null
+++ b/dev/packages.nix
@@ -0,0 +1,29 @@
+{
+  final,
+  prev,
+  inputs,
+  ...
+}:
+{
+  hydra = (prev.hydra.override { nix = final.nixVersions.nix_2_24; }).overrideAttrs (o: {
+    version = inputs.hydra.shortRev;
+    src = inputs.hydra;
+    buildInputs = o.buildInputs ++ [ final.perlPackages.DBIxClassHelpers ];
+  });
+  sotp = final.buildGoModule rec {
+    pname = "sotp";
+    version = "e7f7c804b1641169ce850d8352fb07294881609e";
+    src = final.fetchFromGitHub {
+      owner = "getsops";
+      repo = "sotp";
+      rev = version;
+      hash = "sha256-Cu8cZCmM19G5zeMIiiaCwVJee8wrBZP3Ltk1jWKb2vs=";
+    };
+    vendorHash = "sha256-vQruuohwi53By8UZLrPbRtUrmNbmPt+Sku9hI5J3Dlc=";
+    ldflags = [
+      "-s"
+      "-w"
+    ];
+    doCheck = false;
+  };
+}
diff --git a/dev/shell.nix b/dev/shell.nix
index 225c075..4b029f2 100644
--- a/dev/shell.nix
+++ b/dev/shell.nix
@@ -17,22 +17,7 @@
       with pkgs;
       mkShellNoCC {
         packages = [
-          (buildGoModule rec {
-            pname = "sotp";
-            version = "e7f7c804b1641169ce850d8352fb07294881609e";
-            src = pkgs.fetchFromGitHub {
-              owner = "getsops";
-              repo = "sotp";
-              rev = version;
-              hash = "sha256-Cu8cZCmM19G5zeMIiiaCwVJee8wrBZP3Ltk1jWKb2vs=";
-            };
-            vendorHash = "sha256-vQruuohwi53By8UZLrPbRtUrmNbmPt+Sku9hI5J3Dlc=";
-            ldflags = [
-              "-s"
-              "-w"
-            ];
-            doCheck = false;
-          })
+          sotp
         ];
       };
   };
diff --git a/flake.nix b/flake.nix
index 0534703..8394d09 100644
--- a/flake.nix
+++ b/flake.nix
@@ -66,13 +66,7 @@
           nixpkgs = {
             config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "terraform" ];
             overlays = [
-              (final: prev: {
-                hydra = (prev.hydra.override { nix = final.nixVersions.nix_2_24; }).overrideAttrs (o: {
-                  version = inputs.hydra.shortRev;
-                  src = inputs.hydra;
-                  buildInputs = o.buildInputs ++ [ final.perlPackages.DBIxClassHelpers ];
-                });
-              })
+              (final: prev: (import ./dev/packages.nix { inherit final prev inputs; }))
             ];
           };