mirror of
https://github.com/NixOS/nix
synced 2025-06-24 22:11:15 +02:00
Add a straightforward way to determine if inside a nix3 shell
This commit is contained in:
parent
ff00eebb16
commit
1e77a8dd91
3 changed files with 4 additions and 0 deletions
|
@ -361,6 +361,8 @@ void MixEnvironment::setEnviron()
|
||||||
for (const auto & [name, value] : setVars)
|
for (const auto & [name, value] : setVars)
|
||||||
env[name] = value;
|
env[name] = value;
|
||||||
|
|
||||||
|
env["IN_NIX_SHELL"] = ignoreEnvironment ? "pure" : "impure";
|
||||||
|
|
||||||
if (!unsetVars.empty())
|
if (!unsetVars.empty())
|
||||||
std::erase_if(env, [&](const auto & var) { return unsetVars.contains(var.first); });
|
std::erase_if(env, [&](const auto & var) { return unsetVars.contains(var.first); });
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ nix run -f shell-hello.nix env > $TEST_ROOT/actual-env
|
||||||
# - __CF_USER_TEXT_ENCODING is set by macOS and is beyond our control
|
# - __CF_USER_TEXT_ENCODING is set by macOS and is beyond our control
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's/PATH=.*/PATH=.../' \
|
-e 's/PATH=.*/PATH=.../' \
|
||||||
|
-e '/^IN_NIX_SHELL=.*/d' \
|
||||||
-e 's/_=.*/_=.../' \
|
-e 's/_=.*/_=.../' \
|
||||||
-e '/^TMPDIR=\/var\/folders\/.*/d' \
|
-e '/^TMPDIR=\/var\/folders\/.*/d' \
|
||||||
-e '/^__CF_USER_TEXT_ENCODING=.*$/d' \
|
-e '/^__CF_USER_TEXT_ENCODING=.*$/d' \
|
||||||
|
|
|
@ -36,6 +36,7 @@ nix shell -f shell-hello.nix hello -c env > "$TEST_ROOT/actual-env"
|
||||||
# - __CF_USER_TEXT_ENCODING is set by macOS and is beyond our control
|
# - __CF_USER_TEXT_ENCODING is set by macOS and is beyond our control
|
||||||
sed -i \
|
sed -i \
|
||||||
-e 's/PATH=.*/PATH=.../' \
|
-e 's/PATH=.*/PATH=.../' \
|
||||||
|
-e '/^IN_NIX_SHELL=.*/d' \
|
||||||
-e 's/_=.*/_=.../' \
|
-e 's/_=.*/_=.../' \
|
||||||
-e '/^TMPDIR=\/var\/folders\/.*/d' \
|
-e '/^TMPDIR=\/var\/folders\/.*/d' \
|
||||||
-e '/^__CF_USER_TEXT_ENCODING=.*$/d' \
|
-e '/^__CF_USER_TEXT_ENCODING=.*$/d' \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue