From 18e4687c38b9bc4e72f40ef2768a200119af7304 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Sun, 21 May 2017 19:23:09 +0100 Subject: [PATCH] systemd-nspawn: fixes evaluation error fixes #25097 (cherry picked from commit 522c16bd8669dd2d71fd4c01b2b2fe02a0a7a02c) --- nixos/modules/system/boot/systemd-nspawn.nix | 27 ++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix index f765db275e79..1997b48d8cde 100644 --- a/nixos/modules/system/boot/systemd-nspawn.nix +++ b/nixos/modules/system/boot/systemd-nspawn.nix @@ -41,8 +41,7 @@ let ]; instanceOptions = { - options = { - + options = sharedOptions // { execConfig = mkOption { default = {}; example = { Parameters = "/bin/sh"; }; @@ -82,18 +81,20 @@ let }; - instanceToUnit = name: def: - { text = '' - [Exec] - ${attrsToSection def.execConfig} + instanceToUnit = name: def: + 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 { @@ -109,7 +110,7 @@ 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 [] [];