nixos/filesystems: make supportedFilesystems an attrset

this lets us *dis*able filesystem explicitly, as is required by e.g. the
zfs-less installer images. currently that specifically is only easily
possible by adding an overlay that stubs out `zfs`, with the obvious
side-effect of also removing tooling that could run without the kernel
module loaded.
This commit is contained in:
pennae
2024-02-18 23:35:17 +01:00
parent 13e47eaa46
commit 258b935d70
29 changed files with 73 additions and 72 deletions

View File

@@ -246,10 +246,23 @@ in
};
boot.supportedFilesystems = mkOption {
default = [ ];
example = [ "btrfs" ];
type = types.listOf types.str;
description = lib.mdDoc "Names of supported filesystem types.";
default = { };
example = lib.literalExpression ''
{
btrfs = true;
zfs = lib.mkForce false;
}
'';
type = types.coercedTo
(types.listOf types.str)
(enabled: lib.listToAttrs (map (fs: lib.nameValuePair fs true) enabled))
(types.attrsOf types.bool);
description = lib.mdDoc ''
Names of supported filesystem types, or an attribute set of file system types
and their state. The set form may be used together with `lib.mkForce` to
explicitly disable support for specific filesystems, e.g. to disable ZFS
with an unsupported kernel.
'';
};
boot.specialFileSystems = mkOption {