# Ensure XDG locations are defined
|
|
export XDG_CONFIG_HOME="$HOME"/.config
|
|
export XDG_CACHE_HOME="$HOME"/.cache
|
|
export XDG_DATA_HOME="$HOME"/.local/share
|
|
export XDG_STATE_HOME="$HOME"/.local/state
|
|
|
|
# Move most of ZSH into XDG locations
|
|
export ZDOTDIR="$XDG_CONFIG_HOME"/zsh
|
|
export HISTFILE="$XDG_STATE_HOME"/zsh/history
|
|
|
|
# Define other XDG location
|
|
export VIMINIT="set nocp | source ${XDG_CONFIG_HOME:-$HOME/.config}/vim/vimrc"
|
|
|
|
|
|
# Taken from https://github.com/thoughtbot/dotfiles/blob/master/zshenv
|
|
|
|
local _old_path="$PATH"
|
|
|
|
# Set local env file if exists
|
|
[[ -f ~/.zshenv.local ]] && source ~/.zshenv.local
|
|
|
|
if [[ $PATH != $_old_path ]]; then
|
|
# `colors` isn't initialized yet, so define a few manually
|
|
typeset -AHg fg fg_bold
|
|
if [ -t 2 ]; then
|
|
fg[red]=$'\e[31m'
|
|
fg_bold[white]=$'\e[1;37m'
|
|
reset_color=$'\e[m'
|
|
else
|
|
fg[red]=""
|
|
fg_bold[white]=""
|
|
reset_color=""
|
|
fi
|
|
|
|
cat <<MSG >&2
|
|
${fg[red]}Warning:${reset_color} your \`~/.zshenv.local' configuration seems to edit PATH entries.
|
|
Please move that configuration to \`.zshrc.local' like so:
|
|
${fg_bold[white]}cat ~/.zshenv.local >> ~/.zshrc.local && rm ~/.zshenv.local${reset_color}
|
|
(called from ${(%):-%N:%i})
|
|
MSG
|
|
fi
|
|
|
|
unset _old_path
|