diff --git a/lib/generators.nix b/lib/generators.nix index 205092a2681..716ae77973f 100644 --- a/lib/generators.nix +++ b/lib/generators.nix @@ -230,13 +230,16 @@ rec { else if false == v then "false" else if null == v then "null" else if isPath v then toString v - else if isList v then "[" + introSpace + else if isList v then + if v == [] then "[ ]" + else "[" + introSpace + libStr.concatMapStringsSep introSpace (go (indent + " ")) v - + outroSpace + "]" + + outroSpace + "]" else if isAttrs v then # apply pretty values if allowed if attrNames v == [ "__pretty" "val" ] && allowPrettyValues then v.__pretty v.val + else if v == {} then "{ }" else if v ? type && v.type == "derivation" then "" else "{" + introSpace diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix index 2456b52c099..f60e6ad1787 100644 --- a/lib/tests/misc.nix +++ b/lib/tests/misc.nix @@ -461,7 +461,9 @@ runTests { function = x: x; functionArgs = { arg ? 4, foo }: arg; list = [ 3 4 function [ false ] ]; + emptylist = []; attrs = { foo = null; "foo bar" = "baz"; }; + emptyattrs = {}; drv = deriv; }; expected = rec { @@ -476,7 +478,9 @@ runTests { function = ""; functionArgs = ""; list = "[ 3 4 ${function} [ false ] ]"; + emptylist = "[ ]"; attrs = "{ foo = null; \"foo bar\" = \"baz\"; }"; + emptyattrs = "{ }"; drv = ""; }; };