about summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2021-09-12 06:19:25 +0200
committerzimbatm <zimbatm@zimbatm.com>2021-09-12 06:26:20 +0200
commit9e90a400a576da61e7a75d5cf1159e478a68ef04 (patch)
treec6d3d0824c29f26915ceef2e758c6dfa3732fbd6 /lib
parentfc4247e8278a46c981a0bf2bd99d082c57e7a1fb (diff)
downloadnixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.tar
nixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.tar.gz
nixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.tar.bz2
nixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.tar.lz
nixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.tar.xz
nixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.tar.zst
nixlib-9e90a400a576da61e7a75d5cf1159e478a68ef04.zip
lib.generators.toGitINI: don't traverse derivations
Consider a derivation a value to be serialized.

    nix-repl> lib.generators.toGitINI { hello = { drv = pkgs.hello; }; }
    error: evaluation aborted with the following error message: 'generators.mkValueStringDefault: attrsets not supported: <derivation /nix/store/533q15q67sl6dl0272dyi7m7w5pwkkjh-hello-2.10.drv>'

Fixes #137390
Diffstat (limited to 'lib')
-rw-r--r--lib/generators.nix2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/generators.nix b/lib/generators.nix
index bcb0f371a9b5..e1c7e8737d73 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -169,7 +169,7 @@ rec {
       # converts { a.b.c = 5; } to { "a.b".c = 5; } for toINI
       gitFlattenAttrs = let
         recurse = path: value:
-          if isAttrs value then
+          if isAttrs value && !lib.isDerivation value then
             lib.mapAttrsToList (name: value: recurse ([ name ] ++ path) value) value
           else if length path > 1 then {
             ${concatStringsSep "." (lib.reverseList (tail path))}.${head path} = value;