diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2020-04-02 19:04:33 +0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2020-04-02 19:04:33 +0200 |
commit | a6ff66b658b61aef80d936f0183447fe4cb46000 (patch) | |
tree | 4ffc21b36ff043f720fb5d00a8bde34f97f14cf9 /src/libexpr/flake | |
parent | 78ad5b3d91507427fa563f3474dc52da608ad224 (diff) |
Respect the narHash attribute in more input types
call-flake.nix now passes node.info.narHash to fetchTree. This ensures
that dirty Git trees work even in pure mode.
Diffstat (limited to 'src/libexpr/flake')
-rw-r--r-- | src/libexpr/flake/call-flake.nix | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libexpr/flake/call-flake.nix b/src/libexpr/flake/call-flake.nix index b9088e550..dc9ed357c 100644 --- a/src/libexpr/flake/call-flake.nix +++ b/src/libexpr/flake/call-flake.nix @@ -8,7 +8,10 @@ let builtins.mapAttrs (key: node: let - sourceInfo = if key == lockFile.root then rootSrc else fetchTree (removeAttrs node.locked ["dir"]); + sourceInfo = + if key == lockFile.root + then rootSrc + else fetchTree ({ inherit (node.info) narHash; } // removeAttrs node.locked ["dir"]); subdir = if key == lockFile.root then rootSubdir else node.locked.dir or ""; flake = import (sourceInfo + (if subdir != "" then "/" else "") + subdir + "/flake.nix"); inputs = builtins.mapAttrs (inputName: key: allNodes.${key}) (node.inputs or {}); |