+# Path to config files
+ZSH=$XDG_CONFIG_HOME/zsh
+ZSH_DATA=$XDG_DATA_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
+[[ ! -d "$ZSH_DATA" ]] && echo "Missing data dir: '$ZSH_DATA'" && return
+
+# populate path (order matters)
+typeset -U path # make path a unique array
+# osx gnu utils (installed via brew)
+if (( $+commands[brew] )); then
+ for pkg in coreutils findutils gnu-sed make; do
+ [[ -d $(brew --prefix $pkg)/libexec/gnubin ]] && path=($(brew --prefix $pkg)/libexec/gnubin $path)
+ done
+fi
+# osx pip 3.7 install
+[[ -d ~/Library/Python/3.7/bin ]] && path=(~/Library/Python/3.7/bin $path)
+# personal scripts
+[[ -d ~/.local/bin ]] && path=(~/.local/bin $path)
+[[ -d ~/bin ]] && path=(~/bin $path)
+# android
+[[ -d /opt/android-sdk ]] && path=($path /opt/android-sdk/platform-tools)
+
+# load my functions
+typeset -U fpath # make fpath a unique array
+[[ -d $ZSH/functions ]] && fpath=($ZSH/functions $fpath)
+autoload -U ${fpath[1]}/*(:t) # loads all functions in the first element of fpath