nix-shell: Overwrite environment variables
Need to remember that std::map::insert() and emplace() don't overwrite existing entries... This fixes a regression relative to 1.11 that in particular triggers in nested nix-shells. Before: $ nativeBuildInputs=/foo nix-shell -p hello --run 'hello' build input /foo does not exist After: $ nativeBuildInputs=/foo nix-shell -p hello --run 'hello' Hello, world!
This commit is contained in:
parent
f023f64f40
commit
668fef2e4f
1 changed files with 1 additions and 1 deletions
|
@ -408,7 +408,7 @@ int main(int argc, char ** argv)
|
||||||
env["NIX_STORE"] = store->storeDir;
|
env["NIX_STORE"] = store->storeDir;
|
||||||
|
|
||||||
for (auto & var : drv.env)
|
for (auto & var : drv.env)
|
||||||
env.emplace(var);
|
env[var.first] = var.second;
|
||||||
|
|
||||||
restoreAffinity();
|
restoreAffinity();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue