diff --git a/modules/nixos-modules/storage/impermanence.nix b/modules/nixos-modules/storage/impermanence.nix index db0deb0..8f6d6d8 100644 --- a/modules/nixos-modules/storage/impermanence.nix +++ b/modules/nixos-modules/storage/impermanence.nix @@ -109,7 +109,14 @@ in { }; }) (lib.filterAttrs (_: fileConfig: fileConfig.enable) dataset.files); }) - config.storage.impermanence.datasets; + (lib.filterAttrs ( + datasetName: dataset: let + enabledDirectories = lib.filterAttrs (_: dirConfig: dirConfig.enable) dataset.directories; + enabledFiles = lib.filterAttrs (_: fileConfig: fileConfig.enable) dataset.files; + in + (enabledDirectories != {}) || (enabledFiles != {}) + ) + config.storage.impermanence.datasets); } (lib.mkIf config.storage.zfs.enable { storage.zfs.datasets =