diff --git a/flake.nix b/flake.nix
index ed9c9af..5500287 100644
--- a/flake.nix
+++ b/flake.nix
@@ -61,12 +61,6 @@
           namespace = "clicks";
         };
       }).snowfall.internal.system-lib;
-
-      nixosModuleDependencies = {
-        agenix = inputs.agenix.nixosModules.default;
-        agenix-rekey = inputs.agenix-rekey.nixosModules.default;
-        impermanence = inputs.impermanence.nixosModules.impermanence;
-      };
     in
     lib.mkFlake {
       overlays = [
@@ -74,12 +68,15 @@
       ];
 
       systems.modules.nixos = [
+        inputs.agenix.nixosModules.default
+        inputs.agenix-rekey.nixosModules.default
+        inputs.impermanence.nixosModules.impermanence
         {
           config.clicks.defaults.enable = true;
           # set defaults that are clicks-specific, such as our backups module
           # being enabled...
         }
-      ] ++ (lib.attrsets.attrValues nixosModuleDependencies);
+      ];
 
       deploy = lib.clicks.deploy.mkDeploy {
         inherit (inputs) self;
@@ -96,21 +93,6 @@
         nodes = inputs.self.nixosConfigurations;
       };
 
-      # We need to re-export dependencies, as this is *invalid* unless
-      # environment.persistence is defined, so importing all our modules will
-      # otherwise break evaluation
-      #
-      # config = lib.mkIf false {
-      #   environment.persistence = {
-      #     ...
-      #   };
-      # };
-      #
-      modules.nixos = lib.attrsets.mapAttrs' (name: value: {
-        name = "dependency/${name}";
-        inherit value;
-      }) nixosModuleDependencies;
-
       outputs-builder = channels: {
         specs = let
           nixFiles = lib.snowfall.fs.get-nix-files-recursive ./.;
