systemd-nspawn: fixes evaluation error

fixes #25097

Changed files
+13 -12
nixos
modules
system
+13 -12
nixos/modules/system/boot/systemd-nspawn.nix
···
];
instanceOptions = {
-
options = {
-
+
options = sharedOptions // {
execConfig = mkOption {
default = {};
example = { Parameters = "/bin/sh"; };
···
};
instanceToUnit = name: def:
-
{ text = ''
-
[Exec]
-
${attrsToSection def.execConfig}
+
let base = {
+
text = ''
+
[Exec]
+
${attrsToSection def.execConfig}
-
[Files]
-
${attrsToSection def.filesConfig}
+
[Files]
+
${attrsToSection def.filesConfig}
-
[Network]
-
${attrsToSection def.networkConfig}
-
'';
-
};
+
[Network]
+
${attrsToSection def.networkConfig}
+
'';
+
} // def;
+
in base // { unit = makeUnit name base; };
in {
···
config =
let
-
units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg.instances;
+
units = mapAttrs' (n: v: nameValuePair "${n}.nspawn" (instanceToUnit n v)) cfg;
in mkIf (cfg != {}) {
environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];