# ############################################################################# # zsh # ############################################################################# autoload -Uz compinit promptinit fpath=(~/.zsh/completions $fpath) compinit -u compctl -K tln muxa compdef mosh=ssh promptinit HISTFILE=~/.zshistory HISTSIZE=1000 SAVEHIST=1000 setopt completealiases setopt no_multios bindkey -v bindkey '^R' history-incremental-search-backward bindkey '^A' vi-beginning-of-line bindkey '^E' vi-end-of-line zstyle ':completion:*' completer _complete _ignored zstyle ':completion:*' menu select=2 zstyle :compinstall filename '~/.zshrc' zstyle '*' hosts # do not use /etc/hosts ZDIR=~/.zsh/ # ############################################################################# # exports # ############################################################################# umask 0077 export PATH=~/bin:/home/pks/bin:~/scripts:$PATH export PATH=~/lib/ruby/bin:$PATH export PATH=~/lib/python/site-packages:$PATH export PATH=~/lib/node/bin:$PATH export PATH=/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH export EDITOR='vim -p' export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8 export RUBYOPT=-Ku export GEM_HOME=$HOME/lib/ruby/ export GEM_PATH=$HOME/lib/ruby/:$GEM_PATH export PYTHONPATH=$PYTHONPATH:~/lib/python/site-packages export TEXMFHOME='~/.texmf' export CFLAGS="-march=native -mtune=native" export CXXFLAGS="$CFLAGS" export CCACHE_PATH=/usr/bin # ############################################################################# # terminal # ############################################################################# case $TERM in screen-256color) ;; *) TERM=xterm-256color ;; esac stty -ixon # enable mapping of C-s in vim.. # ############################################################################# # prompt # ############################################################################# autoload -U colors && colors case `hostname` in 2pac) HOSTCOLOR_BG=green HOSTCOLOR_FG=black ;; CLuster|node*|gpu*) HOSTCOLOR_BG=cyan HOSTCOLOR_FG=black ;; coltrane) HOSTCOLOR_BG=blue HOSTCOLOR_FG=black ;; donna) HOSTCOLOR_BG=red HOSTCOLOR_FG=black ;; vicious) HOSTCOLOR_BG=yellow HOSTCOLOR_FG=black ;; lemmy) HOSTCOLOR_BG=black HOSTCOLOR_FG=white ;; x|pi*|*.uberspace.de) HOSTCOLOR_BG=magenta HOSTCOLOR_FG=black ;; *) HOSTCOLOR_BG=white HOSTCOLOR_FG=black ;; esac psvar[1]="~" function chpwd { if [[ -e $ZDIR/functions ]] { source ~/.zsh/functions/rtab.zsh psvar[1]=$(rtab) } else { psvar[1]=$(print -P %~) } } zstyle ':prompt:rtab' fish yes zstyle ':prompt:rtab' nameddirs yes case `whoami` in root) PROMPT="%{$bg[red]%}%{$fg[black]%}%m:%1v#%{$reset_color%} " ;; *) PROMPT="%{$bg[$HOSTCOLOR_BG]%}%{$fg[$HOSTCOLOR_FG]%}%m%{$reset_color%}:%1v> " ;; esac case $TERM in *256color*) precmd () {print -Pn "\e]0;%n@%m%~\a"} preexec () {print -Pn "\e]0;%n@%m%~ -- $1\a"} ;; esac # ############################################################################# # host specifics # ############################################################################# case `hostname` in 2pac|CLuster|node*|gpu*|coltrane|donna|vicious|lemmy) umask u=rwx,g=rwx,o=rx alias tmux="tmux -f ~/.tmux.`hostname`.conf" ;; x|pi*|*.uberspace.de) PATH=/usr/lib/colorgcc/bin:~/src/scripts:$PATH ;; esac case `hostname` in CLuster|node*|gpu*) alias tmux="tmux -f ~/.tmux.cluster.conf" ;; esac # ############################################################################# # aliases # ############################################################################# 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 equery='sudo equery -N' alias feh='feh -F' alias git='git -c color.status=always' alias grep='grep --color=auto' alias pdf='mupdf' alias py='bpython' alias vi=$EDITOR alias mergepdf='texexec --pdfarrange --noduplex --result merged.pdf ' alias mergepdfgs=' gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=gsmerged.pdf -dBATCH' alias pdfprevfile='pdftoppm -f 1 -l 1 -singlefile -jpeg' alias thumb='convert -resize 200x200' alias qmv='qmv -evim -fdo' alias radio='mocp ~/.moc/radio.m3u' alias wifi_list='sudo iwlist wlan0 scan' alias kill_wifi='sudo /etc/init.d/dhcpcd stop || sudo killall wpa_supplicant' alias always_on='xset dpms 0 0 0' alias vgaoff='xrandr --output VGA1 --off && xrandr --output LVDS1 --mode 1024x768' alias vgaclone='xrandr --output VGA1 --mode 1024x768' alias vgaext='xrandr --output VGA1 --mode 1024x768 --left-of LVDS1 --rotate right' alias vga21='xrandr --output VGA1 --mode 1600x1200 --rate 60 --rotate right && xrandr --output LVDS1 --off' alias vga22w='xrandr --output VGA1 --mode 1680x1050 --rate 60 --rotate left && xrandr --output LVDS1 --off' alias reboot='sudo shutdown -r now' alias halt='sudo shutdown -h now' 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 lpimg='/usr/bin/lp -o fit-to-page' alias muxn='tmux new -s' alias muxl='tmux list-sessions' alias muxa='tmux attach -t' alias easy_install_home='easy_install --install-dir=$HOME/lib/python/site-packages' alias npm_install='npm install -g --prefix ./lib/node' alias my_ip='echo "$(curl 'https://api.ipify.org' 2>/dev/null)"' alias cal='while true; do clear; echo; khal calendar; sleep 600; done' alias t_timeline='while true; do clear; t timeline -n 13 -C icon; sleep 600; done' # ############################################################################# # functions # ############################################################################# diff () { if hash colordiff 2>/dev/null; then colordiff "$@" else diff "$@" fi } irb () { if hash pry 2>/dev/null; then pry "$@" else irb "$@" fi } lsof_kill () { lsof $1 | grep -v COMMAND | cut -d " " -f 2- | strips | cut -d " " -f 1 | xargs kill } tln () { reply=( $(tmux list-sessions | cut -d: -f1) ) }