about summary refs log tree commit diff
path: root/nixos/modules
diff options
context:
space:
mode:
authorRyan Lahfa <masterancpp@gmail.com>2023-12-04 19:36:39 +0100
committerGitHub <noreply@github.com>2023-12-04 19:36:39 +0100
commit0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6 (patch)
tree318c72da47f7d5e3c1661a8653750397457506f2 /nixos/modules
parentf8012b8090aea8c0acfd943d56460281565f9a14 (diff)
parent28608b04486f5c9218ba6b74f347456253ea9f4f (diff)
downloadnixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.tar
nixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.tar.gz
nixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.tar.bz2
nixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.tar.lz
nixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.tar.xz
nixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.tar.zst
nixlib-0275f6fc9e7ba7af4f10ba9cb43d08c902669ee6.zip
Merge pull request #272061 from JulienMalka/clevis-fix-zfs-evaluation
Diffstat (limited to 'nixos/modules')
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix6
1 files changed, 3 insertions, 3 deletions
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index fd92a0014002..784040f0ce9e 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -17,7 +17,7 @@ let
   cfgZED = config.services.zfs.zed;
 
   selectModulePackage = package: config.boot.kernelPackages.${package.kernelModuleAttribute};
-  clevisDatasets = map (e: e.device) (filter (e: (hasAttr e.device config.boot.initrd.clevis.devices) && e.fsType == "zfs" && (fsNeededForBoot e)) config.system.build.fileSystems);
+  clevisDatasets = map (e: e.device) (filter (e: e.device != null && (hasAttr e.device config.boot.initrd.clevis.devices) && e.fsType == "zfs" && (fsNeededForBoot e)) config.system.build.fileSystems);
 
 
   inInitrd = any (fs: fs == "zfs") config.boot.initrd.supportedFilesystems;
@@ -157,7 +157,7 @@ let
           poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
         fi
         if poolImported "${pool}"; then
-        ${concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem} || true ") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets)}
+        ${optionalString config.boot.initrd.clevis.enable (concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem} || true ") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets))}
 
 
           ${optionalString keyLocations.hasKeys ''
@@ -630,7 +630,7 @@ in
               poolImported "${pool}" || poolImport "${pool}"  # Try one last time, e.g. to import a degraded pool.
             fi
 
-            ${concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem}") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets)}
+            ${optionalString config.boot.initrd.clevis.enable (concatMapStringsSep "\n" (elem: "clevis decrypt < /etc/clevis/${elem}.jwe | zfs load-key ${elem}") (filter (p: (elemAt (splitString "/" p) 0) == pool) clevisDatasets))}
 
             ${if isBool cfgZfs.requestEncryptionCredentials
               then optionalString cfgZfs.requestEncryptionCredentials ''