zstyle ':completion:*:hosts' hosts $hosts
# Use caching so that commands like apt and dpkg complete are useable
-[[ -d "$XDG_CACHE_HOME/zsh" ]] || mkdir -p "$XDG_CACHE_HOME/zsh"
zstyle ':completion::complete:*' use-cache 1
-zstyle ':completion::complete:*' cache-path $XDG_CACHE_HOME/zsh
+zstyle ':completion::complete:*' cache-path $ZSH_CACHE
# Don't complete uninteresting users
zstyle ':completion:*:*:*:users' ignored-patterns \
# 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
autoload -U ${fpath[1]}/*(:t) # loads all functions in the first element of fpath
# initialise completion
-[[ -d "$XDG_CACHE_HOME/zsh" ]] || mkdir -p "$XDG_CACHE_HOME/zsh"
-autoload -U compinit; compinit -d "$XDG_CACHE_HOME/zsh/zcompdump"
+[[ -d "$ZSH_CACHE" ]] || mkdir -p "$ZSH_CACHE"
+autoload -U compinit; compinit -d "$ZSH_CACHE/zcompdump"
# miscelaneous options
setopt extendedglob