From 3d14617fc7006d161d531a9e9ddff9c163f84734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Mon, 17 Jul 2023 13:25:43 +0200 Subject: [PATCH] cloud-init: enable filesystems based on what is used --- nixos/modules/services/system/cloud-init.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix index d782bb1a3666..61966fa6ce86 100644 --- a/nixos/modules/services/system/cloud-init.nix +++ b/nixos/modules/services/system/cloud-init.nix @@ -17,6 +17,7 @@ let ++ optional cfg.ext4.enable e2fsprogs ++ optional cfg.xfs.enable xfsprogs ; + hasFs = fsName: lib.any (fs: fs.fsType == fsName) (lib.attrValues config.fileSystems); settingsFormat = pkgs.formats.yaml { }; cfgfile = settingsFormat.generate "cloud.cfg" cfg.settings; in @@ -44,7 +45,8 @@ in btrfs.enable = mkOption { type = types.bool; - default = false; + default = hasFs "btrfs"; + defaultText = literalExpression ''hasFs "btrfs"''; description = mdDoc '' Allow the cloud-init service to operate `btrfs` filesystem. ''; @@ -52,7 +54,8 @@ in ext4.enable = mkOption { type = types.bool; - default = true; + default = hasFs "ext4"; + defaultText = literalExpression ''hasFs "ext4"''; description = mdDoc '' Allow the cloud-init service to operate `ext4` filesystem. ''; @@ -60,7 +63,8 @@ in xfs.enable = mkOption { type = types.bool; - default = false; + default = hasFs "xfs"; + defaultText = literalExpression ''hasFs "xfs"''; description = mdDoc '' Allow the cloud-init service to operate `xfs` filesystem. '';