mirror of
https://github.com/NixOS/nix.git
synced 2025-11-11 13:06:01 +01:00
print-dev-env: Avoid using unbound shellHook variable
Some tools which consume the "nix print-dev-env" rc script (such as
"nix-direnv") are sensitive to the use of unbound variables. They use
"set -u".
The "nix print-dev-env" rc script initially unsets "shellHook", then
loads variables from the derivation, and then evaluates "shellHook".
However, most derivations don't have a "shellHook" attribute.
So users get the error "shellHook: unbound variable". This can be
demonstrated with the command:
nix print-dev-env nixpkgs#hello | bash -u
This commit changes the rc script to provide an empty fallback value
for the "shellHook" variable.
Closes: #7951 #8253
This commit is contained in:
parent
49cf090cb2
commit
e1131b5927
2 changed files with 3 additions and 3 deletions
|
|
@ -354,7 +354,7 @@ struct Common : InstallableCommand, MixProfile
|
|||
for (auto & i : {"TMP", "TMPDIR", "TEMP", "TEMPDIR"})
|
||||
out << fmt("export %s=\"$NIX_BUILD_TOP\"\n", i);
|
||||
|
||||
out << "eval \"$shellHook\"\n";
|
||||
out << "eval \"${shellHook:-}\"\n";
|
||||
|
||||
auto script = out.str();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue