-# Path to your oh-my-zsh configuration.
-ZSH=$HOME/.zsh
+# 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/
-# Optionally, if you set this to "random", it'll load a random theme each
-# time that oh-my-zsh is loaded.
+# Look in $ZSH/themes
ZSH_THEME="ramsi"
+[[ -f "$ZSH/themes/${ZSH_THEME}.zsh-theme" ]] && source "$ZSH/themes/${ZSH_THEME}.zsh-theme"
-# Set to this to use case-sensitive completion
-CASE_SENSITIVE="true"
-
-# Comment this out to disable bi-weekly auto-update checks
-DISABLE_AUTO_UPDATE="true"
-
-# Uncomment to change how many often would you like to wait before auto-updates occur? (in days)
-# export UPDATE_ZSH_DAYS=13
-
-# Uncomment following line if you want to disable colors in ls
-# DISABLE_LS_COLORS="true"
-
-# Uncomment following line if you want to disable autosetting terminal title.
-# DISABLE_AUTO_TITLE="true"
-
-# Uncomment following line if you want red dots to be displayed while waiting for completion
-# COMPLETION_WAITING_DOTS="true"
-
-# Which plugins would you like to load? (plugins can be found in ~/.zsh/plugins/*)
-# Custom plugins may be added to ~/.zsh/custom/plugins/
-# Example format: plugins=(rails git textmate ruby lighthouse)
-plugins=(extract git)
+# 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
-source $ZSH/oh-my-zsh.sh
+# 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 beep
setopt extendedglob
-setopt csh_nullglob # if glob does not match, remove pattern, if no glob matches print error
+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
# 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)
-# 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
-
# source aliases
[[ -f ~/.aliases ]] && source ~/.aliases
+for alias_file ($ZSH/aliases/*.zsh); do
+ source $alias_file
+done
# vim stuff
export EDITOR=vim
export VISUAL=vim
+export BROWSER=dwb
# set up a few named directories
hash -d Skaro=/mnt/Skaro
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 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