]> git.rmz.io Git - dotfiles.git/blobdiff - zshrc
zsh: use XDG_{CONFIG,CACHE}_HOME
[dotfiles.git] / zshrc
diff --git a/zshrc b/zshrc
index a9be5d4d9c4a1e77d53036bc980aa22d6bc8fff8..7ad8443cfc8191eb977a4336e035d76e74709e6d 100644 (file)
--- a/zshrc
+++ b/zshrc
@@ -1,41 +1,29 @@
-# 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
@@ -44,20 +32,21 @@ setopt dvorak       # correct_all uses dvorak
 
 # 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
@@ -66,7 +55,14 @@ 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 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