zsh/zshenv

21 lines
917 B
Bash

# Initialise each of the XDG vars to their default values if they're unset.
: ${XDG_CACHE_HOME:=~/.cache}
: ${XDG_CONFIG_HOME:=~/.config}
: ${XDG_DATA_HOME:=~/.local/share}
# For XDG_RUNTIME_DIR, pick a temporary directory - the spec actually
# *requires* that it's destroyed when the user logs out, so that's handled by a
# file in zlogout. The reason for suffixing /xdg-$UID is that TMPDIR does not
# necessarily belong to the current user exclusively (although it does under
# MacOS and PAM). This is especially true if $TMPDIR isn't set at all and /tmp
# is used!
[[ -z $XDG_RUNTIME_DIR ]] && XDG_RUNTIME_DIR=${${TMPDIR-/tmp}%/}/xdg-$UID
if ! [[ -d $XDG_RUNTIME_DIR ]]; then
mkdir -p $XDG_RUNTIME_DIR
chmod 0700 $XDG_RUNTIME_DIR
fi
export XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_RUNTIME_DIR
# The real zsh config lives in XDG_CONFIG_HOME! ;)
: ${ZDOTDIR:=$XDG_CONFIG_HOME/zsh}
source $ZDOTDIR/zshenv