-# Path to your oh-my-zsh configuration.
-ZSH=$HOME/.zsh
+# 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
# Load all of the config files in $ZSH/lib that end in .zsh
for config_file ($ZSH/lib/*.zsh); do
# load my functions
typeset -U fpath # make fpath a unique array
-[[ -d ~/.zsh/functions ]] && fpath=(~/.zsh/functions $fpath)
+[[ -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
+autoload -U compinit; compinit -d "$ZSH_CACHE/zcompdump"
# miscelaneous options
setopt extendedglob
-setopt csh_nullglob # if glob does not match, remove pattern, if no glob matches print error
+setopt nonomatch # if glob does not match, pass it to the command
setopt numeric_glob_sort # sort numerically not lexically
setopt noclobber # don't allow overwriting files with '>', use '>!' instead
setopt notify
setopt rcquotes # echo 'don''t'; prints don't
setopt dvorak # correct_all uses dvorak
+setopt rematch_pcre # use perl regexp
+
+# disable flow control
+setopt noflowcontrol
+stty -ixon
# populate path
typeset -U path # make path a unique array
+[[ -d ~/.local/bin ]] && path=(~/.local/bin $path)
[[ -d ~/bin ]] && path=(~/bin $path)
[[ -d /opt/android-sdk ]] && path=($path /opt/android-sdk/platform-tools)
+# osx gnu utils (installed via brew)
+[[ -d /usr/local/opt/coreutils/libexec/gnubin ]] && path=(/usr/local/opt/coreutils/libexec/gnubin $path)
+[[ -d /usr/local/opt/findutils/libexec/gnubin ]] && path=(/usr/local/opt/findutils/libexec/gnubin $path)
# 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
-export EDITOR=vim
-export VISUAL=vim
-
# set up a few named directories
-hash -d Skaro=/mnt/Skaro
+hash -d fook=/mnt/fook
hash -d ccr=~/ccr
hash -d src=~/src
hash -d chroot_testing=/buildsystem/testing/buildroot
hash -d chroot_master=/buildsystem/master/buildroot
hash -d chroot_lib32=/buildsystem/lib32/buildroot
-hash -d wineprefixes=/mnt/sdd5/wineprefixes
-hash -d UniMaas=~/Dropbox/Documents/UniMaas
-
-# set some env variables
-export _gamedir=/mnt/Skaro/Games/Linux/HumbleBundle
+hash -d wineprefixes=/mnt/data/wineprefixes