]> git.rmz.io Git - dotfiles.git/blobdiff - zshrc
zsh: define and use ZSH_CACHE
[dotfiles.git] / zshrc
diff --git a/zshrc b/zshrc
index 653f9741d16208ea9faec1b2cc9ee4dc12a2a9fd..6babf77fcb22c26e51a952a3abed5ce960632b16 100644 (file)
--- a/zshrc
+++ b/zshrc
@@ -1,5 +1,8 @@
-# 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
@@ -16,7 +19,9 @@ 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
 
-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
@@ -41,8 +46,12 @@ for alias_file ($ZSH/aliases/*.zsh); do
 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