-# Path to your oh-my-zsh configuration.
-ZSH=$HOME/.zsh
+# Path to config files
+ZSH=$XDG_CONFIG_HOME/zsh
+ZSH_CACHE=$XDG_CACHE_HOME/zsh
+[[ ! -d "$ZSH" ]] && echo "Missing config dir: '$ZSH'" && return
+[[ ! -d "$ZSH_CACHE" ]] && echo "Missing cache dir: '$ZSH_CACHE'" && return
# Load all of the config files in $ZSH/lib that end in .zsh
for config_file ($ZSH/lib/*.zsh); do
[[ -d ~/.zsh/functions ]] && fpath=(~/.zsh/functions $fpath)
autoload -U ${fpath[1]}/*(:t) # loads all functions in the first element of fpath
-autoload -U compinit; compinit
+# initialise completion
+[[ -d "$ZSH_CACHE" ]] || mkdir -p "$ZSH_CACHE"
+autoload -U compinit; compinit -d "$ZSH_CACHE/zcompdump"
# miscelaneous options
setopt extendedglob
# populate path
typeset -U path # make path a unique array
+[[ -d ~/.local/bin ]] && path=(~/.local/bin $path)
[[ -d ~/bin ]] && path=(~/bin $path)
[[ -d /extra ]] && path=($path /extra/bin /extra/usr/bin /extra/sbin /extra/usr/sbin)
[[ -d /opt/android-sdk ]] && path=($path /opt/android-sdk/platform-tools)
# source aliases
-[[ -f ~/.aliases ]] && source ~/.aliases
+[[ -f ~/$XDG_CONFIG_HOME/aliases ]] && source ~/$XDG_CONFIG_HOME/aliases
for alias_file ($ZSH/aliases/*.zsh); do
source $alias_file
done
# vim stuff
+[[ -d "$XDG_CACHE_HOME/vim" ]] || mkdir -p "$XDG_CACHE_HOME/vim"
+export VIMINIT='let $MYVIMRC="$XDG_CONFIG_HOME/vim/vimrc" | source $MYVIMRC'
export EDITOR=vim
export VISUAL=vim
+# default browser
+export BROWSER=dwb
+
# set up a few named directories
hash -d Skaro=/mnt/Skaro
hash -d ccr=~/ccr