lib.types: turn _create, _mount and _config into values

This commit is contained in:
lassulus 2023-07-01 19:02:01 +02:00 committed by mergify[bot]
parent 8002e7cb89
commit ab9b880db2
17 changed files with 194 additions and 146 deletions

View file

@ -1,4 +1,4 @@
{ diskoLib, config, options, lib, parent, ... }:
{ diskoLib, config, options, lib, parent, device, ... }:
{
options = {
type = lib.mkOption {
@ -6,6 +6,11 @@
internal = true;
description = "Type";
};
device = lib.mkOption {
type = lib.types.str;
default = device;
description = "Device";
};
randomEncryption = lib.mkOption {
type = lib.types.bool;
default = false;
@ -24,16 +29,16 @@
};
_create = diskoLib.mkCreateOption {
inherit config options;
default = { dev }: ''
mkswap ${dev}
default = ''
mkswap ${config.device}
'';
};
_mount = diskoLib.mkMountOption {
inherit config options;
default = { dev }: {
fs.${dev} = ''
if ! swapon --show | grep -q '^${dev} '; then
swapon ${dev}
default = {
fs.${config.device} = ''
if ! swapon --show | grep -q '^${config.device} '; then
swapon ${config.device}
fi
'';
};
@ -41,9 +46,9 @@
_config = lib.mkOption {
internal = true;
readOnly = true;
default = dev: [{
default = [{
swapDevices = [{
device = dev;
device = config.device;
randomEncryption = config.randomEncryption;
}];
}];