Don’t source bashrc in pure mode

Pure mode should not try to source the user’s bashrc file. These may
have many impurities that the user does not expect to get into their
shell.

Fixes #3090
This commit is contained in:
Matthew Bauer 2019-10-08 22:41:05 -04:00
parent a7e9286359
commit 65f6d5db6f

View file

@ -412,7 +412,7 @@ static void _main(int argc, char * * argv)
auto rcfile = (Path) tmpDir + "/rc"; auto rcfile = (Path) tmpDir + "/rc";
writeFile(rcfile, fmt( writeFile(rcfile, fmt(
(keepTmp ? "" : "rm -rf '%1%'; "s) + (keepTmp ? "" : "rm -rf '%1%'; "s) +
"[ -n \"$PS1\" ] && [ -e ~/.bashrc ] && source ~/.bashrc; " (pure ? "" : "[ -n \"$PS1\" ] && [ -e ~/.bashrc ] && source ~/.bashrc;")
"%2%" "%2%"
"dontAddDisableDepTrack=1; " "dontAddDisableDepTrack=1; "
"[ -e $stdenv/setup ] && source $stdenv/setup; " "[ -e $stdenv/setup ] && source $stdenv/setup; "