luks: rename extraArgs to extraFormatArgs, add extraOpenArgs

This commit is contained in:
Linus Heckemann 2023-03-21 19:41:39 +01:00
parent 25c5376b02
commit 0577409d12
3 changed files with 13 additions and 6 deletions

View file

@ -15,10 +15,16 @@
default = null;
description = "Path to the key for encryption";
};
extraArgs = lib.mkOption {
extraFormatArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "Extra arguments";
description = "Extra arguments to pass to `cryptsetup luksFormat` when formatting";
};
extraOpenArgs = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [ ];
description = "Extra arguments to pass to `cryptsetup luksOpen` when opening";
example = [ "--allow-discards" ];
};
content = diskoLib.deviceType;
_meta = lib.mkOption {
@ -32,8 +38,8 @@
_create = diskoLib.mkCreateOption {
inherit config options;
default = { dev }: ''
cryptsetup -q luksFormat ${dev} ${diskoLib.maybeStr config.keyFile} ${toString config.extraArgs}
cryptsetup luksOpen ${dev} ${config.name} ${lib.optionalString (config.keyFile != null) "--key-file ${config.keyFile}"}
cryptsetup -q luksFormat ${dev} ${diskoLib.maybeStr config.keyFile} ${toString config.extraFormatArgs}
cryptsetup luksOpen ${dev} ${config.name} ${toString config.extraOpenArgs} ${lib.optionalString (config.keyFile != null) "--key-file ${config.keyFile}"}
${lib.optionalString (config.content != null) (config.content._create {dev = "/dev/mapper/${config.name}";})}
'';
};