# 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}/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 <&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