diff --git a/morph/grid/local/grid.nix b/morph/grid/local/grid.nix
index 41c4d0c85c9c701b797c89531b40d14bd2c2d941..88c19818c03287583b45ece80b9f0531f791bfc7 100644
--- a/morph/grid/local/grid.nix
+++ b/morph/grid/local/grid.nix
@@ -24,7 +24,11 @@ let
     imports = [
       gridlib.storage
       (import ./virtual-hardware.nix ({ inherit publicIPv4; }))
-      (gridlib.customize-storage config config.sshUsers publicIPv4 config.monitoringvpnKeyDir "172.23.23.12" "19.09")
+      (gridlib.customize-storage (config // {
+        inherit publicIPv4;
+        monitoringvpnIPv4 = "172.23.23.12";
+        stateVersion = "19.09";
+      }))
     ];
   };
 
@@ -32,7 +36,11 @@ let
     imports = [
       gridlib.storage
       (import ./virtual-hardware.nix ({ inherit publicIPv4; }))
-      (gridlib.customize-storage config config.sshUsers publicIPv4 config.monitoringvpnKeyDir "172.23.23.13" "19.09")
+      (gridlib.customize-storage (config // {
+        inherit publicIPv4;
+        monitoringvpnIPv4 = "172.23.23.13";
+        stateVersion = "19.09";
+      }))
     ];
   };
 
diff --git a/morph/grid/production/grid.nix b/morph/grid/production/grid.nix
index 3f39f9773a91375081e767c62fcdd5427a44962a..b8c561713d742687dced05de7a46d08db448ea36 100644
--- a/morph/grid/production/grid.nix
+++ b/morph/grid/production/grid.nix
@@ -48,7 +48,10 @@ let
       gridlib.storage
 
       # Then customize the storage system a little bit based on this node's particulars.
-      (gridlib.customize-storage config config.sshUsers nodecfg.publicIPv4 config.monitoringvpnKeyDir vpnIP stateVersion)
+      (gridlib.customize-storage (config // nodecfg // {
+        monitoringvpnIPv4 = vpnIP;
+        inherit stateVersion;
+      }))
     ];
 
     # And supply configuration for those hardware / network / bootloader
diff --git a/morph/grid/testing/grid.nix b/morph/grid/testing/grid.nix
index c4ef5008eb68df589b304de4e8f56ea6e754374d..8e68558a13c750eebac48c40dc0822d7f24db1bf 100644
--- a/morph/grid/testing/grid.nix
+++ b/morph/grid/testing/grid.nix
@@ -25,7 +25,11 @@ let
     imports = [
       gridlib.storage
       ./testing001-hardware.nix
-      (gridlib.customize-storage config config.sshUsers publicIPv4 config.monitoringvpnKeyDir "172.23.23.12" "19.03")
+      (gridlib.customize-storage (config // {
+        inherit publicIPv4;
+        monitoringvpnIPv4 = "172.23.23.12";
+        stateVersion = "19.03";
+      }))
     ];
   };
 
diff --git a/morph/lib/customize-storage.nix b/morph/lib/customize-storage.nix
index 0f5ae16ffbba11b042fea62e2b5de2d026a104aa..2153d78a48dafed72f10daaba9029fe6626d468b 100644
--- a/morph/lib/customize-storage.nix
+++ b/morph/lib/customize-storage.nix
@@ -1,21 +1,28 @@
-cfg: sshUsers: publicIPv4: monitoringvpnKeyDir: monitoringvpnIPv4: stateVersion: {
+{ ristrettoSigningKeyPath
+, passValue
+, publicStoragePort
+, sshUsers
+, publicIPv4
+, monitoringvpnKeyDir
+, monitoringvpnEndpoint
+, monitoringvpnIPv4
+, stateVersion
+, ...
+}: {
   deployment.secrets = {
-    "ristretto-signing-key".source = cfg.ristrettoSigningKeyPath;
+    "ristretto-signing-key".source = ristrettoSigningKeyPath;
     "monitoringvpn-secret-key".source = "${monitoringvpnKeyDir}/${monitoringvpnIPv4}.key";
     "monitoringvpn-preshared-key".source = "${monitoringvpnKeyDir}/preshared.key";
   };
 
   services.private-storage = {
-    sshUsers = sshUsers;
-    inherit publicIPv4;
-    inherit (cfg) passValue;
-    inherit (cfg) publicStoragePort;
+    inherit sshUsers publicIPv4 passValue publicStoragePort;
   };
 
   services.private-storage.monitoring.vpn.client = {
     enable = true;
     ip = monitoringvpnIPv4;
-    endpoint = cfg.monitoringvpnEndpoint;
+    endpoint = monitoringvpnEndpoint;
     endpointPublicKeyFile = "${monitoringvpnKeyDir}/server.pub";
   };