X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/3e15c7e178bf62658a23570a628ff6e989d32ea9..ba37fa63e8cdedbe958ab51a6aaddcfa4ed2f65d:/zshrc diff --git a/zshrc b/zshrc index a181dbd..7ad8443 100644 --- a/zshrc +++ b/zshrc @@ -1,63 +1,52 @@ -# configure history -HISTFILE=~/.histfile -HISTSIZE=1000 -SAVEHIST=2000 -setopt hist_ignore_dups -setopt hist_ignore_space -setopt append_history -setopt inc_append_history -setopt extended_history +# Path to config files +ZSH=$XDG_CONFIG_HOME/zsh +[[ ! -d "$ZSH" ]] && echo "Missing config dir: '$ZSH'" && return -# misc -setopt beep -setopt extendedglob -setopt nomatch -setopt noclobber # don't allow overwriting files with '>', use '>!' instead -setopt notify -setopt rcquotes # echo 'don''t'; prints don't - -# key bindings -bindkey -e # emacs key bindings, vi is weird -[[ -r ~/.zsh/bindkeyrc ]] && source ~/.zsh/bindkeyrc - -# Completion -zstyle :compinstall filename '/home/ramsi/.zshrc' -zstyle ':completion:*' list-colors '' +# Load all of the config files in $ZSH/lib that end in .zsh +for config_file ($ZSH/lib/*.zsh); do + source $config_file +done -setopt complete_in_word # allow completion in the middle of a word -autoload -Uz compinit -compinit - -# populate path -typeset -U path # make path a unique array -[[ -d ~/bin ]] && path=(~/bin $path) +# 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 -# source aliases -[[ -f ~/.aliasesrc ]] && source ~/.aliasesrc +# initialise completion +[[ -d "$XDG_CACHE_HOME/zsh" ]] || mkdir -p "$XDG_CACHE_HOME/zsh" +autoload -U compinit; compinit -d "$XDG_CACHE_HOME/zsh/zcompdump" -# set up prompt -autoload -U colors && colors -PROMPT="%(?..%{$fg_bold[white]%}[%?])%{$reset_color%}[%D{%k:%M} %n@%{$fg[green]%}%m%{$reset_color%}]%# " -RPROMPT="%{$fg[green]%}%~%{$reset_color%}" +# miscelaneous options +setopt extendedglob +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 -# make cd act like pushd -DIRSTACKSIZE=10 # number of dirs to remember -setopt auto_pushd # cd acts like pushd -setopt pushd_minus # inverts the meaning of cp -1 and cp +1 -setopt pushd_silent # don't print dir stack everytime -setopt pushd_to_home # pushd with no argumens pushes to ~ -setopt pushd_ignore_dups # ignore dups in pushd/cd -alias dh='dirs -v' # show numbers with dirs +# 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) -setopt auto_cd # if no command matches the input, try to cd into it; .. = cd .. +# source aliases +[[ -f ~/.aliases ]] && source ~/.aliases +for alias_file ($ZSH/aliases/*.zsh); do + source $alias_file +done -# set search path for cd -cdpath=(~ /mnt) +# vim stuff +export EDITOR=vim +export VISUAL=vim +export BROWSER=dwb # set up a few named directories hash -d Skaro=/mnt/Skaro @@ -66,3 +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/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