-# Path to your oh-my-zsh configuration.
-ZSH=$HOME/.zsh
+# Path to config files
+ZSH=$XDG_CONFIG_HOME/zsh
+[[ ! -d "$ZSH" ]] && echo "Missing config dir: '$ZSH'" && 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 "$XDG_CACHE_HOME/zsh" ]] || mkdir -p "$XDG_CACHE_HOME/zsh"
+autoload -U compinit; compinit -d "$XDG_CACHE_HOME/zsh/zcompdump"
# miscelaneous options
setopt extendedglob