From b2abfe54b3da8eddda3135561c0c841c3023966d Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Fri, 19 Dec 2014 23:00:00 +0100 Subject: [PATCH] nixos-option: Print derivation outPath within attribute sets and list, when the strict mode is used. --- nixos/modules/installer/tools/nixos-option.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos/modules/installer/tools/nixos-option.sh b/nixos/modules/installer/tools/nixos-option.sh index a2b963d7661..b5f69f07826 100644 --- a/nixos/modules/installer/tools/nixos-option.sh +++ b/nixos/modules/installer/tools/nixos-option.sh @@ -76,14 +76,23 @@ evalAttr(){ local prefix="$1" local strict="$2" local suffix="$3" + + # If strict is set, then set it to "true". + test -n "$strict" && strict=true + evalNix ${strict:+--strict} < {}; nixpkgs = import {}; + strict = ${strict:-false}; cleanOutput = x: with nixpkgs.lib; if isDerivation x then x.outPath else if isFunction x then "" + else if strict then + if isAttrs x then mapAttrs (n: cleanOutput) x + else if isList x then map cleanOutput x + else x else x; in cleanOutput (reach nixos.$prefix)