ZSH: Restructured path settings

This commit is contained in:
Christian Baer 2024-10-28 22:28:56 +01:00
parent 360e82abe9
commit 7014435399

View File

@ -1,19 +1,18 @@
# Set $PATH # Set $PATH
# Put only directories in $PATH that exist and remove duplicates # Put only directories in $PATH that exist and remove duplicates
typeset -U path # No duplicates typeset -U path # No duplicates
path=() path=()
_prepath() { _prepath() {
for dir in "$@"; do for dir in "$@"; do
dir=${dir:A} dir=${dir:A}
[[ ! -d "$dir" ]] && return [[ ! -d "$dir" ]] && return
#path=("$dir" $path[@]) path=("$dir" $path)
path=("$dir" $path) done
done
} }
_prepath /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/sbin # BSD and macOS _prepath /usr/bin /bin /usr/sbin /sbin /usr/local/bin /usr/local/sbin # BSD and macOS
_prepath /opt/homebrew/bin /opt/homebrew/sbin /usr/local/bin # Homebrew on macOS _prepath /opt/homebrew/bin /opt/homebrew/sbin /usr/local/bin # Homebrew on macOS
_prepath ~/bin ~/.local/bin # $HOME _prepath ~/bin ~/.local/bin # $HOME
unfunction _prepath unfunction _prepath