X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/cd7d4ad6a3e2e483c652c5fbc3308c5d277a4b99..8a83c91bf3cc5773bacc12c802e24d30e7dd58d8:/zshrc diff --git a/zshrc b/zshrc index b5c6b18..e2dba1a 100644 --- a/zshrc +++ b/zshrc @@ -1,5 +1,31 @@ -# 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 + +# 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 # Load all of the config files in $ZSH/lib that end in .zsh for config_file ($ZSH/lib/*.zsh); do @@ -11,46 +37,33 @@ done ZSH_THEME="ramsi" [[ -f "$ZSH/themes/${ZSH_THEME}.zsh-theme" ]] && source "$ZSH/themes/${ZSH_THEME}.zsh-theme" -# 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 - -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 -# populate path -typeset -U path # make path a unique array -[[ -d ~/bin ]] && path=(~/bin $path) -[[ -d /extra ]] && path=($path /extra/bin /extra/usr/bin /extra/sbin /extra/usr/sbin) -[[ -d /opt/android-sdk ]] && path=($path /opt/android-sdk/platform-tools) +# disable flow control +setopt noflowcontrol +stty -ixon # 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 ccr=~/ccr +hash -d fook=/mnt/fook 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 -# set some env variables -export _gamedir=/mnt/Skaro/Games/Linux/HumbleBundle +# fpp named dirs +hash -d evk=~/src/fpp/evk +hash -d fpp=~/src/fpp