]> git.rmz.io Git - dotfiles.git/blobdiff - zshrc
zsh: use XDG_{CONFIG,CACHE}_HOME
[dotfiles.git] / zshrc
diff --git a/zshrc b/zshrc
index 54dba8983012bb7bcc1d839d4f2873c4743b0ce5..7ad8443cfc8191eb977a4336e035d76e74709e6d 100644 (file)
--- a/zshrc
+++ b/zshrc
@@ -1,44 +1,68 @@
-# Lines configured by zsh-newuser-install
-HISTFILE=~/.histfile
-HISTSIZE=10000
-SAVEHIST=20000
-setopt histignoredups
-setopt histignorespace
-setopt appendhistory
-
-setopt autocd
-setopt beep
+# Path to config files
+ZSH=$XDG_CONFIG_HOME/zsh
+[[ ! -d "$ZSH" ]] && echo "Missing config dir: '$ZSH'" && return
+
+# Load all of the config files in $ZSH/lib that end in .zsh
+for config_file ($ZSH/lib/*.zsh); do
+  source $config_file
+done
+
+# Set name of the theme to load.
+# Look in $ZSH/themes
+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
+
+# initialise completion
+[[ -d "$XDG_CACHE_HOME/zsh" ]] || mkdir -p "$XDG_CACHE_HOME/zsh"
+autoload -U compinit; compinit -d "$XDG_CACHE_HOME/zsh/zcompdump"
+
+# miscelaneous options
 setopt extendedglob
-setopt nomatch
+setopt cshnullglob  # if glob does not match, remove pattern, if no glob matches print error
+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
 
-unsetopt notify
+# populate path
+typeset -U path     # make path a unique array
+[[ -d ~/.local/bin ]] && path=(~/.local/bin $path)
+[[ -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)
 
-bindkey -e
-# End of lines configured by zsh-newuser-install
-# The following lines were added by compinstall
-zstyle :compinstall filename '/home/ramsi/.zshrc'
+# source aliases
+[[ -f ~/.aliases ]] && source ~/.aliases
+for alias_file ($ZSH/aliases/*.zsh); do
+  source $alias_file
+done
 
-autoload -Uz compinit
-compinit
-# End of lines added by compinstall
+# vim stuff
+export EDITOR=vim
+export VISUAL=vim
+export BROWSER=dwb
 
-# source aliases
-[[ -f ~/.bash_aliases ]] && source ~/.bash_aliases
-
-# set up prompt
-autoload -U promptinit
-promptinit
-prompt walters
-
-# make cd act like pushd
-DIRSTACKSIZE=10
-setopt autopushd    # cd acts like pushd
-setopt pushdminus   # inverts the meaning of cp -1 and cp +1
-setopt pushdsilent  # don't print dir stack everytime
-setopt pushdtohome  # pushd with no argumens pushes to ~
-alias dh='dirs -v'
-
-# set search path for cd
-cdpath=( ~ /mnt )
+# set up a few named directories
+hash -d Skaro=/mnt/Skaro
+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/data/wineprefixes
+hash -d UniMaas=~/dropbox/Documents/UniMaas
+
+# set some env variables
+export _gamedir=/mnt/Skaro/Games/Linux/HumbleBundle
+
+# ros
+if [[ -f "/opt/ros/groovy/setup.zsh" ]]; then
+    export ROS_WORKSPACE=~/src/ros
+    export ROS_OS_OVERRIDE=arch
+fi