zstyle ':completion:*' completer _complete _ignored
zstyle :compinstall filename '~/.zshrc'
fpath=(~/.zsh/completions $fpath)
autoload -Uz compinit promptinit
compinit
promptinit
zstyle ':completion:*' menu select=2
zstyle ':completion:*' completer _complete _ignored
HISTFILE=~/.zshistory
HISTSIZE=1000
SAVEHIST=1000
zstyle ':completion:*' menu select
setopt completealiases
compdef mosh=ssh
zstyle '*' hosts # do not use /etc/hosts
setopt no_multios

ex () {
  if [ -f $1 ] ; then
    case $1 in
      *.tar.bz2) tar xvjf $1 && cd $(basename "$1" .tar.bz2) ;;
      *.tar.gz)  tar xvzf $1 && cd $(basename "$1" .tar.gz) ;;
      *.tar.xz)  tar Jxvf $1 && cd $(basename "$1" .tar.xz) ;;
      *.bz2)     bunzip2 $1 && cd $(basename "$1" .bz2) ;;
      *.rar)     unrar x $1 && cd $(basename "$1" .rar) ;;
      *.gz)      gunzip $1 && cd $(basename "$1" .gz) ;;
      *.tar)     tar xvf $1 && cd $(basename "$1" .tar) ;;
      *.tbz2)    tar xvjf $1 && cd $(basename "$1" .tbz2) ;;
      *.tgz)     tar xvzf $1 && cd $(basename "$1" .tgz) ;;
      *.zip)     unzip $1 && cd $(basename "$1" .zip) ;;
      *.Z)       uncompress $1 && cd $(basename "$1" .Z) ;;
      *.7z)      7zr x $1 && cd $(basename "$1" .7z) ;;
      *)         echo "Don't know how to extract '$1'..." ;;
    esac
  else
    echo "'$1' is not a file!"
  fi
}

umask 0077
export PATH=~/bin:/home/pks/bin:~/scripts:~/lib/ruby/bin:~/lib/python/site-packages:/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH
export RUBYOPT=-Ku
export CCACHE_PATH=/usr/bin
export TEXMFHOME='~/.texmf'
export EDITOR='vim -p'
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export GEM_HOME=$HOME/lib/ruby/
export GEM_PATH=$HOME/lib/ruby/:$GEM_PATH
export PYTHONPATH=$PYTHONPATH:~/lib/python/site-packages
export CFLAGS="-march=native -mtune=native"
export CXXFLAGS="$CFLAGS"

case $TERM in
  *256color*)
     precmd () {print -Pn "\e]0;%n@%m%~\a"}
    preexec () {print -Pn "\e]0;%n@%m%~ -- $1\a"}
  ;;
esac

case $TERM in
  screen-256color)
  ;;
  *)
    TERM=xterm-256color
  ;;
esac

autoload -U colors && colors
case `hostname` in
  2pac)
    HOSTCOLOR=green
  ;;
  CLuster|node*)
    HOSTCOLOR=cyan
  ;;
  coltrane)
    HOSTCOLOR=blue
  ;;
  donna)
    HOSTCOLOR=red
  ;;
  vicious)
    HOSTCOLOR=yellow
  ;;
  x|pi|alphard.uberspace.de)
    HOSTCOLOR=magenta
  ;;
  *)
    HOSTCOLOR=white
  ;;
esac

case `hostname` in
  2pac|CLuster|node*|coltrane|donna|vicious)
    PROMPT="[%m:%~]%{$fg[$HOSTCOLOR]%}%B%%%b%{$reset_color%} "
    export PATH=/home/mitarb/simianer/bin:/home/pks/bin:/opt/java/bin:/toolbox/ruby/bin:$PATH
    export GEM_HOME=/toolbox/ruby/
    export PYTHONPATH=$PYTHONPATH:/toolbox/python/lib/python2.7/site-packages
    export JAVA_HOME=/usr/lib/jvm/java-6-sun/ # debian systems w/ sun-java6
    umask u=rwx,g=rwx,o=rx
    alias tmux="tmux -f ~/.tmux.`hostname`.conf"
  ;;
  x)
    PROMPT="[%~]%{$fg[magenta]%}$B%%%b%{$reset_color%} "
    PATH=/usr/lib/colorgcc/bin:~/src/scripts:$PATH
  ;;
  pi|alphard.uberspace.de)
    PROMPT="[%m:%~]%{$fg[magenta]%}$B%%%b%{$reset_color%} "
    PATH=/usr/lib/colorgcc/bin:~/src/scripts:$PATH
  ;;
esac

case `hostname` in
  2pac|CLuster|node*)
    export GEM_HOME=$HOME/lib/ruby/
    export GEM_PATH=/toolbox/ruby/:$GEM_PATH
  ;;
  coltrane|donna|vicious)
    export PATH=/toolbox/scripts:$PATH
  ;;
esac

case `hostname` in
  CLuster|node*)
    alias tmux="tmux -f ~/.tmux.CLuster.conf"
  ;;
esac

function youtube() { mplayer -xy 0.5 $(youtube-dl -g "$@") ;}

alias ls='ls -h --color=auto'
alias l='ls'
alias la='ls -lA'
alias ll='ls -l'
alias lla='ls -A'
alias lsc='ls -1 | wc -l'
alias less='less -R'
alias lh='ls --color=always -lasth | less'
alias vi=$EDITOR
alias pdf='mupdf'
alias py='bpython'
alias grep='grep --color=auto'
alias equery='sudo equery -N'
alias feh='feh -F'
alias gitweb='git instaweb --httpd webrick'
alias gitwebstop='git instaweb stop'
alias netcfg='sudo netcfg'
alias mergepdf='texexec --pdfarrange --noduplex --result merged.pdf '
alias mergepdfgs=' gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=gsmerged.pdf -dBATCH'
alias updatedb='sudo updatedb'
alias qmv='qmv -evim -fdo'
alias dusage='du -hs *'
alias df='df -h'
alias iwlist='sudo iwlist wlan0 scan'
alias fumount='fusermount -u'
alias more='less'
alias vpnc='sudo vpnc'
alias vgaoff='xrandr --output VGA1 --off'
alias vgaclone='xrandr --output VGA1 --mode 1024x768'
alias vgaext='xrandr --output VGA1 --mode 1024x768 --left-of LVDS1 --rotate right'
alias suspend='sudo suspend'
alias hibernate='suspend'
alias reboot='sudo shutdown -r now'
alias halt='sudo shutdown -h now'
alias lock='slock'
alias demoterm="urxvt -fn 'xft:courier:pixelsize=16' -fg #000000 -bg #ffffff"
alias fwup='sudo ifconfig firewire0 192.168.166.100 up'
alias gunzip='pigz -d'
alias fastltx='pdflatex -interaction=batchmode --shell-escape -parse-first-line'
alias lp2p='/usr/bin/lp -o sides=two-sided-long-edge'
alias lp4p='/usr/bin/lp -o sides=two-sided-short-edge -o number-up=2'
alias lp8p='/usr/bin/lp -o sides=two-sided-short-edge -o number-up=4 -o landscape'
alias muxn='tmux new -s'
alias muxl='tmux list-sessions'
alias muxa='tmux attach -t'
alias biew='TERM=vt100 biew filename'
alias dmesg='dmesg -T'
alias always_on='xset dpms 0 0 0'
alias quotes='curl -s "http://download.finance.yahoo.com/d/quotes.csv?s=AAPL+AMD+GOOG&f=l1"'
alias irb='pry'
alias watch_d='while true; do clear; ps ax | grep -P "\sD\+?\s"; sleep 5; done'
alias easy_install_home='easy_install --install-dir=$HOME/lib/python/site-packages'
alias uberspace='mosh -p 60666 pks@alphard.uberspace.de'
if [[ -f ~/.zshrcp ]]; then
  source ~/.zshrcp
fi

bindkey -v
bindkey '^R' history-incremental-search-backward
bindkey '^A' vi-beginning-of-line
bindkey '^E' vi-end-of-line

tln() {
  reply=( $(tmux list-sessions | cut -d: -f1) )
}

compctl -K tln muxa

case `whoami` in
  root)
    PROMPT=$'\e[0;31m[%~]# \e[0m'
  ;;
esac

stty -ixon # enable mapping of C-s in vim..

ciff () {
  if hash colordiff 2>/dev/null; then
    colordiff "$@"
  else
    diff "$@"
  fi
}