fish: source NixOS environment on non-login shells, when it hasn't been
sourced (this fixes issue #25789: https://github.com/NixOS/nixpkgs/issues/25789#issuecomment-301577290 and the issue with git-annex mentioned here https://github.com/NixOS/nixpkgs/pull/24314#issuecomment-301587124 )
This commit is contained in:
parent
9f6b1dca58
commit
3f91e0dbae
@ -45,10 +45,15 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
fishPreInitHooks = ''
|
fishPreInitHooks = ''
|
||||||
# source nixos environment if we're a login shell
|
# source nixos environment
|
||||||
|
# note that this is required:
|
||||||
|
# 1. For all shells, not just login shells (mosh needs this as do some other command-line utilities)
|
||||||
|
# 2. Before the shell is initialized, so that config snippets can find the commands they use on the PATH
|
||||||
builtin status --is-login
|
builtin status --is-login
|
||||||
|
or test -z "$__fish_nixos_env_preinit_sourced" -a -z "$ETC_PROFILE_SOURCED" -a -z "$ETC_ZSHENV_SOURCED"
|
||||||
and test -f /etc/fish/nixos-env-preinit.fish
|
and test -f /etc/fish/nixos-env-preinit.fish
|
||||||
and source /etc/fish/nixos-env-preinit.fish
|
and source /etc/fish/nixos-env-preinit.fish
|
||||||
|
and set -gx __fish_nixos_env_preinit_sourced 1
|
||||||
|
|
||||||
test -n "$NIX_PROFILES"
|
test -n "$NIX_PROFILES"
|
||||||
and begin
|
and begin
|
||||||
|
Loading…
Reference in New Issue
Block a user