mirror of
https://github.com/NixOS/nix
synced 2025-06-24 22:11:15 +02:00
nix-profile{,-daemon}.fish: Do not source twice
In order for the script not be sourced multiple times by the same shell instance, `__ETC_PROFILE_NIX_SOURCED` needs to be set with a `--global` flag. Both files are almost identical. And style differences make it harder to see what is actually different and keep them in sync, when it is required.
This commit is contained in:
parent
666d656593
commit
b36637c8f7
2 changed files with 64 additions and 47 deletions
|
@ -1,3 +1,13 @@
|
|||
# Only execute this file once per shell.
|
||||
if test -z "$HOME" || \
|
||||
test -n "$__ETC_PROFILE_NIX_SOURCED"
|
||||
exit
|
||||
end
|
||||
|
||||
set --global __ETC_PROFILE_NIX_SOURCED 1
|
||||
|
||||
# Local helpers
|
||||
|
||||
function add_path --argument-names new_path
|
||||
if type -q fish_add_path
|
||||
# fish 3.2.0 or newer
|
||||
|
@ -10,13 +20,7 @@ function add_path --argument-names new_path
|
|||
end
|
||||
end
|
||||
|
||||
# Only execute this file once per shell.
|
||||
if test -n "$__ETC_PROFILE_NIX_SOURCED"
|
||||
exit
|
||||
end
|
||||
|
||||
set __ETC_PROFILE_NIX_SOURCED 1
|
||||
|
||||
# Main configuration
|
||||
set --export NIX_PROFILES "@localstatedir@/nix/profiles/default $HOME/.nix-profile"
|
||||
|
||||
# Populate bash completions, .desktop files, etc
|
||||
|
@ -54,4 +58,6 @@ end
|
|||
add_path "@localstatedir@/nix/profiles/default/bin"
|
||||
add_path "$HOME/.nix-profile/bin"
|
||||
|
||||
# Cleanup
|
||||
|
||||
functions -e add_path
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
# Only execute this file once per shell.
|
||||
if test -z "$HOME" || test -z "$USER" || \
|
||||
test -n "$__ETC_PROFILE_NIX_SOURCED"
|
||||
exit
|
||||
end
|
||||
|
||||
set --global __ETC_PROFILE_NIX_SOURCED 1
|
||||
|
||||
# Local helpers
|
||||
|
||||
function add_path --argument-names new_path
|
||||
if type -q fish_add_path
|
||||
# fish 3.2.0 or newer
|
||||
|
@ -10,7 +20,7 @@ function add_path --argument-names new_path
|
|||
end
|
||||
end
|
||||
|
||||
if test -n "$HOME" && test -n "$USER"
|
||||
# Main configuration
|
||||
|
||||
# Set up the per-user profile.
|
||||
|
||||
|
@ -54,6 +64,7 @@ if test -n "$HOME" && test -n "$USER"
|
|||
|
||||
add_path "$NIX_LINK/bin"
|
||||
set --erase NIX_LINK
|
||||
end
|
||||
|
||||
# Cleanup
|
||||
|
||||
functions -e add_path
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue