Reliably set up environment to be inherited by non-login shells, including FPATH
This commit is contained in:
parent
109ca827b4
commit
8833894671
3 changed files with 11 additions and 4 deletions
5
config/zsh/all/env
Normal file
5
config/zsh/all/env
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#! zsh
|
||||||
|
# We can't inherit the uniqueness flag -U through the environment, so it must
|
||||||
|
# be established in every Zsh to guarantee these parameters actually contain
|
||||||
|
# only unique values.
|
||||||
|
typeset -U cdpath fpath mailpath manpath path pythonpath
|
|
@ -1,5 +1,7 @@
|
||||||
#! zsh
|
#! zsh
|
||||||
fpath=($ZDOTDIR/functions $fpath)
|
fpath=($ZDOTDIR/functions $fpath)
|
||||||
|
|
||||||
# filter out duplicates, nonexistent directories, and . (the current directory)
|
|
||||||
fpath=(${(u)^fpath:#.}(N))
|
fpath=(${(u)^fpath:#.}(N))
|
||||||
|
# FPATH isn't exported by default like PATH is - to inherit the setting in
|
||||||
|
# non-login shells, we need to export it ourselves.
|
||||||
|
typeset -x FPATH
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
#! zsh
|
#! zsh
|
||||||
|
|
||||||
path=(/usr/local/bin $path)
|
path=(/usr/local/bin $path)
|
||||||
if whence brew >/dev/null; then
|
if (( $+commands[brew] )); then
|
||||||
path=(
|
path=(
|
||||||
/usr/local/opt/coreutils/libexec/gnubin
|
/usr/local/opt/coreutils/libexec/gnubin
|
||||||
/usr/local/sbin
|
/usr/local/sbin
|
||||||
|
@ -13,5 +12,6 @@ fi
|
||||||
path=(/usr/local/texlive/20*/bin/universal-*(N) $path)
|
path=(/usr/local/texlive/20*/bin/universal-*(N) $path)
|
||||||
path=(~/bin ~/.bin ~/.local/bin $path)
|
path=(~/bin ~/.bin ~/.local/bin $path)
|
||||||
|
|
||||||
# filter out duplicates, nonexistent directories, and . (the current directory)
|
# Filter out nonexistent directories, . (the current directory), and duplicate
|
||||||
|
# paths - there should be no duplicates because of -U but just to be sure. ;)
|
||||||
path=(${(u)^path:#.}(N))
|
path=(${(u)^path:#.}(N))
|
||||||
|
|
Loading…
Reference in a new issue