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…
	
	Add table
		Add a link
		
	
		Reference in a new issue