forked from lix-project/lix
Merge pull request #3988 from Gabriel439/gabriel/preserve_ps1
Add `nix-shell` support for preserving PS1
This commit is contained in:
commit
e1f2c93f88
|
@ -98,8 +98,8 @@ static void _main(int argc, char * * argv)
|
||||||
|
|
||||||
// List of environment variables kept for --pure
|
// List of environment variables kept for --pure
|
||||||
std::set<string> keepVars{
|
std::set<string> keepVars{
|
||||||
"HOME", "USER", "LOGNAME", "DISPLAY", "PATH", "TERM",
|
"HOME", "USER", "LOGNAME", "DISPLAY", "PATH", "TERM", "IN_NIX_SHELL",
|
||||||
"IN_NIX_SHELL", "TZ", "PAGER", "NIX_BUILD_SHELL", "SHLVL",
|
"NIX_SHELL_PRESERVE_PROMPT", "TZ", "PAGER", "NIX_BUILD_SHELL", "SHLVL",
|
||||||
"http_proxy", "https_proxy", "ftp_proxy", "all_proxy", "no_proxy"
|
"http_proxy", "https_proxy", "ftp_proxy", "all_proxy", "no_proxy"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -446,7 +446,7 @@ static void _main(int argc, char * * argv)
|
||||||
"PATH=%4%:\"$PATH\"; "
|
"PATH=%4%:\"$PATH\"; "
|
||||||
"SHELL=%5%; "
|
"SHELL=%5%; "
|
||||||
"set +e; "
|
"set +e; "
|
||||||
R"s([ -n "$PS1" ] && PS1='\n\[\033[1;32m\][nix-shell:\w]\$\[\033[0m\] '; )s"
|
R"s([ -n "$PS1" -a -z "$NIX_SHELL_PRESERVE_PROMPT" ] && PS1='\n\[\033[1;32m\][nix-shell:\w]\$\[\033[0m\] '; )s"
|
||||||
"if [ \"$(type -t runHook)\" = function ]; then runHook shellHook; fi; "
|
"if [ \"$(type -t runHook)\" = function ]; then runHook shellHook; fi; "
|
||||||
"unset NIX_ENFORCE_PURITY; "
|
"unset NIX_ENFORCE_PURITY; "
|
||||||
"shopt -u nullglob; "
|
"shopt -u nullglob; "
|
||||||
|
|
Loading…
Reference in a new issue