summary refs log tree commit diff
path: root/lib/meta.nix
diff options
context:
space:
mode:
authorTor Hedin Brønner <torhedinbronner@gmail.com>2018-08-29 16:05:48 +0000
committerJan Malakhovski <oxij@oxij.org>2018-08-30 13:20:39 +0000
commitd273db48c6e95d6547f02845f1921211f113c0c0 (patch)
tree88d5d92de9181a818232a49db42ac9eb92b661cf /lib/meta.nix
parent6e3d0efdc48d3388dc467d2bdd5d58706d00aa86 (diff)
downloadnixlib-d273db48c6e95d6547f02845f1921211f113c0c0.tar
nixlib-d273db48c6e95d6547f02845f1921211f113c0c0.tar.gz
nixlib-d273db48c6e95d6547f02845f1921211f113c0c0.tar.bz2
nixlib-d273db48c6e95d6547f02845f1921211f113c0c0.tar.lz
nixlib-d273db48c6e95d6547f02845f1921211f113c0c0.tar.xz
nixlib-d273db48c6e95d6547f02845f1921211f113c0c0.tar.zst
nixlib-d273db48c6e95d6547f02845f1921211f113c0c0.zip
nixos/shells: avoid overriding the environment for child shells
A shared exported guard `__NIXOS_SET_ENVIRONMENT_DONE` is introduced that can
be used to prevent child shells from sourcing `system.build.setEnvironment`
the second time.

This fixes e.g. `nix run derivation` when run from e.g. ZSH through the console or
ssh. Before this Bash would resource the common environment resetting the `PATH`
environment variable.

We also export `system.build.setEnvironment` to `/etc/set-environment` making it
easy to reset the common environment with `. /etc/set-environment` when
needed and to grep for environment variables in `/etc` (which was the
motivation of #30418).

This reverts changes made in b00a3fc6fd82834114771f2115a2b032f0ebfe29
(the original #30418).
Diffstat (limited to 'lib/meta.nix')
0 files changed, 0 insertions, 0 deletions