From 19557bb66d4ccd6ee231dc154a1191c5f4ce2922 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 28 Mar 2010 13:52:49 +0200 Subject: Let caretaker automatically symlink the stuff --- etc/.zlogout | 2 + etc/.zprofile | 20 +++ etc/.zshenv | 26 +++ etc/.zshrc | 555 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ etc/env | 26 --- etc/logout | 2 - etc/profile | 20 --- etc/rc | 555 ---------------------------------------------------------- 8 files changed, 603 insertions(+), 603 deletions(-) create mode 100644 etc/.zlogout create mode 100644 etc/.zprofile create mode 100644 etc/.zshenv create mode 100644 etc/.zshrc delete mode 100644 etc/env delete mode 100644 etc/logout delete mode 100644 etc/profile delete mode 100644 etc/rc (limited to 'etc') diff --git a/etc/.zlogout b/etc/.zlogout new file mode 100644 index 0000000..8dbb030 --- /dev/null +++ b/etc/.zlogout @@ -0,0 +1,2 @@ +## vim:ft=zsh +clear diff --git a/etc/.zprofile b/etc/.zprofile new file mode 100644 index 0000000..ffdd0f1 --- /dev/null +++ b/etc/.zprofile @@ -0,0 +1,20 @@ +## vim:ft=zsh +function pr_info { + print -P "%F{cyan}>>%F{default} $*" +} + +echo + +pr_info "This is %F{cyan}$(uname -srm)%F{default} on %F{cyan}%y%F{default}" +[[ -r /etc/gentoo-release ]] && pr_info "Running %F{cyan}Gentoo%F{default} ${$(cat /etc/gentoo-release)#(#i)gentoo }" +[[ -r /etc/debian_version ]] && pr_info "Running %F{cyan}Debian%F{default} $(cat /etc/debian_version)" +[[ -r /etc/arch-release ]] && pr_info "Running %F{cyan}Arch%F{default}" +[[ -r /etc/redhat-release ]] && pr_info "Running %F{cyan}Redhat%F{default}" + +echo + +[[ -n $(echo Maildir/new/*(N)) ]] && pr_info "You have mail!" +[[ -r $ZDIR/local-profile ]] && source $ZDIR/local-profile +[[ -r $ZDIR/hosts/profile-$HOST ]] && source $ZDIR/hosts/profile-$HOST + +unfunction pr_info diff --git a/etc/.zshenv b/etc/.zshenv new file mode 100644 index 0000000..45c601b --- /dev/null +++ b/etc/.zshenv @@ -0,0 +1,26 @@ +## vim:ft=zsh + +: ${ZDIR:=$HOME/packages/zsh/etc} +PS4='%b%u%s%k%F{cyan}%N%F{default}:%F{yellow}%i%F{default}│' +fpath=($ZDIR/functions $ZDIR/completions $fpath) + +# Additional zshenv settings from caretaker +[[ -r $ZDIR/../provided/env ]] && source $ZDIR/../provided/env + +export EDITOR==vim +export MPD_HOST=mpd +export CALENDAR_DIR=$HOME/stuff +export LESS='--silent --no-init --clear-screen --RAW-CONTROL-CHARS --quit-if-one-screen --ignore-case --tabs=5' + +# Required for various scripts +export HOST +export COLUMNS +export LINES + +if [[ -n $commands[lesspipe] ]] { + export LESSOPEN='| lesspipe %s' + export LESSCLOSE='lesspipe %s %s' +} + +# local settings, not tracked with git +[[ -r $ZDIR/local-env ]] && source $ZDIR/local-env diff --git a/etc/.zshrc b/etc/.zshrc new file mode 100644 index 0000000..9fc59dd --- /dev/null +++ b/etc/.zshrc @@ -0,0 +1,555 @@ +## vim:ft=zsh:foldmethod=marker +## Copyright (c) 2008, 2009 by Daniel Friesel +## Licence: +## 0. You just DO WHAT THE FUCK YOU WANT TO. +## +## https://derf.homelinux.org/dotfiles/zsh/rc +## see also: https://derf.homelinux.org/dotfiles/zsh/ + +# {{{ OS Detection + +system=${$(uname):l} + +alias 'linux:'='[[ $system == linux ]] &&' + +if [[ $system == linux ]] { + [[ -f /etc/debian_version ]] && distro=debian +} + +# }}} +# {{{ Startup infos + +function zrc_info { + print -P "%F{red}>>%F{default} $*" +} + +# }}} +# {{{ Options + +setopt auto_pushd pushd_ignore_dups pushd_minus pushd_silent +setopt auto_cd + +setopt transient_rprompt + +setopt list_packed + +setopt extended_glob + +unsetopt bang_hist + +setopt correct + +# greedy is more like dvorak than qwerty... +setopt dvorak +unsetopt flow_control +setopt rc_quotes + +unsetopt beep + +# }}} +# {{{ Shell parameters + +## parameters which are only important for interactive shells. +## For application-related parameters, see .zshenv + +if [[ -d ~/var/cache/zsh ]] { + ZCACHEDIR=~/var/cache/zsh +} else { + mkdir -p ~/.zsh-cache + ZCACHEDIR=~/.zsh-cache +} + +HISTFILE=$ZCACHEDIR/history +HISTSIZE=50000 +SAVEHIST=$HISTSIZE + +DIRSTACKSIZE=20 + +# Use the full terminal size for listings +LISTMAX=0 + +TIMEFMT='%J (%P) - %*E real, %*U user, %*S system' + +if (( EUID != 0)) { + path+=(/sbin /usr/sbin /usr/local/sbin) +} + +export MAKEFLAGS=j$(grep -c '^processor' /proc/cpuinfo) + +typeset -U path +path=(~/bin $path) + +# Add manuals from caretaker to manpath +if [[ $distro == debian ]] { + if [[ -e ~/packages/catman ]] { + export MANPATH=/var/cache/man + } else { + export MANPATH=/usr/share/man + if (( COLUMNS > 100 )) { + export MANWIDTH=100 + } + } + MANPATH+=":/usr/local/share/man:$HOME/packages/.collected/man" +} + +# }}} +# {{{ MIME parameters + +mime_archive=( + 7z ace arj bz bz2 cpio deb dz gz jar lzh lzma rar rpm rz svgz + tar taz tbz2 tgz tz z Z zip zoo +) +mime_audio=( + aif aifc aiff amr amr au awb awb axa flac gsm kar m3u m3u m4a mid midi + mp2 mp3 mpega mpga oga ogg pls ra ra ram rm sd2 sid snd spx wav wax wma +) +mime_document=(pdf ps) +mime_image=( + art bmp cdr cdt cpt cr2 crw djv djvu erf gif ico ief jng jpe jpeg jpg nef orf + pat pbm pcx pgm png pnm ppm psd ras rgb svg svgz tif tiff wbmp xbm xpm xwd +) +mime_video=( + 3gp asf asx avi axv dif divx dl dv fli flv gl lsf lsx m2t mkv mng mov + movie mp4 mpe mpeg mpg mpv mxu ogm ogv qt rmvb wm wmv wmx wvx +) + +# }}} +# {{{ ls-colors (partially based on MIME) + +# default:file :dirctory: link : pipe : socket +LS_COLORS="no=00:fi=00:di=01;37:ln=01;36:pi=40;33:so=01;35" + +# door : block dev : char dev :broken link: setuid +LS_COLORS+=":do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41" + +# setgid : +t,o+w : o+w : sticky : executable +LS_COLORS+=":sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32" + +LS_COLORS+=:${(j/:/):-"*."${^mime_archive}"=04;31"} +LS_COLORS+=:${(j/:/):-"*."${^mime_audio}"=04;36"} +LS_COLORS+=:${(j/:/):-"*."${^mime_document}"=04"} +LS_COLORS+=:${(j/:/):-"*."${^mime_image}"=04;33"} +LS_COLORS+=:${(j/:/):-"*."${^mime_video}"=04;32"} + +export LS_COLORS + +# }}} +# {{{ Functions + +autoload -U compinit +autoload zargs zmv + +if [[ -e $ZDIR/functions ]] { + autoload $ZDIR/functions/*(:t) +} else { + # No cool extra stuff + zrc_info "Running in standalone mode" + # rtab is tracked in functions/, so it may not be present everywhere. + # However, the prompt assumes the presence of a 'rtab' function. + function rtab { + print -P %~ + } +} + + +# This all belongs into the prompt, but since it only changes +# when changing directories, it's more efficient to do it here +function chpwd { + psvar[1]=$(dirinfo) + psvar[2]=$(rtab) +} + +function dirinfo { + typeset string + + [[ -r .todo ]] && string+='todo ' + [[ -f .fehindex.jpg ]] && string+='feh ' + [[ -d .hg ]] && string+='hg ' + [[ -d .git ]] && string+='git ' + [[ -d .svn ]] && string+='svn ' + [[ -f Makefile || -f makefile ]] && string+='make ' + + echo ${string% } +} + +function xhashd { + typeset directory=${~1#*\=} name=${1%%\=*} + + if [[ -d $directory ]] { + hash -d $name=$directory + } +} + +# Note: local assignments (typeset foo=bar) are lost. export foo=bar works. +function xsource { + if [[ -r $1 ]] { + source $1 + } +} + +function Status Start Stop Restart Reload { + typeset script sudo + if ((EUID)) { + sudo=sudo + } + for script in $*; { + $sudo /etc/init.d/$script ${0:l} + } +} + +# }}} +# {{{ ZLE + +autoload -U url-quote-magic + +zle -N self-insert url-quote-magic + +# }}} +# {{{ Prompt + +# RPS1 is on the right side of the terminal +# The \ek\e\\ is for screen's 'shelltitle' + +# psvar[1] = directory info +# psvar[2] = rtab (current directory) + +typeset -A ps rps + +ps=( + host "%F{yellow}%m" + dir "%F{default}%30<…<%2v%>>" + sign "%(!.%F{red}.%F{green})%(?.%(!.#.>).%?)%F{default}" + screen $'%{\ek\e\\%}' +) + +rps=( + start_always "%F{yellow}[" + start_screen "%(1V.%F{yellow}[" + dirinfo "%F{default}%1v" + end_always "%F{yellow}]%F{default}" + end_screen "%(1V.%F{yellow}]%F{default}.)" +) + +PS1="${ps[host]} ${ps[dir]} ${ps[sign]} ${ps[screen]}" + +RPS1="${rps[start_screen]}${rps[dirinfo]}${rps[end_screen]}" + +unset ps rps + +zstyle ':prompt:rtab' fish yes +zstyle ':prompt:rtab' nameddirs yes + + +# }}} +# {{{ Named directories + +hash -d vcs=~/var/svn +xhashd lyrics=~vcs/lyrics +xhashd www=/var/www +xhashd web=~/public_html + +# }}} +# {{{ Keys + +bindkey -e +[[ -z $terminfo[kdch1] ]] || bindkey -M emacs $terminfo[kdch1] delete-char +[[ -z $terminfo[khome] ]] || bindkey -M emacs $terminfo[khome] beginning-of-line +[[ -z $terminfo[kend] ]] || bindkey -M emacs $terminfo[kend] end-of-line + +# }}} +# {{{ Aliases +# {{{ Suffix + +typeset -A alias_apps +alias_apps=( + archive extract + audio mplayer + document kpdf + image feh + video mplayer +) + +for meta in ${parameters[(I)mime_*]#mime_}; { + for format in $(eval echo "$"mime_$meta); { + alias -s $format=$alias_apps[$meta] + } +} + +unset filetypes meta format alias_apps + +# }}} +# {{{ Defaults + +# To evade these defaults, use '=command' instead of 'command' + +linux: { + alias grep='grep --color=auto' + alias egrep='grep -E' + alias fgrep='grep -F' + alias bzgrep='bzgrep --color=auto' + alias zgrep='zgrep --color=auto' +} + + +linux: alias df='df -hl --exclude-type=fuse.encfs' || + alias df='df -hl' + +linux: alias du='du -shD' || + alias du='du -shH' + +linux: alias ls='ls -h --color=auto' || + alias ls='ls -h' + +## enable alias expansion +alias exec='exec ' +alias sudo='sudo ' + +linux: alias netstat='sudo netstat --program --all --tcp --extend' || + alias netstat='sudo netstat -atp tcp' + + +alias bc='bc -l' + +alias fbi='fbi -readahead' + +alias cp='cp -i' +alias mv='mv -i' + +alias pmount='pmount -A' + +alias find='noglob find' + +alias man='man -a' + +# ps -C foo is better than ps aux | fgrep foo ;-) +alias ps='ps -F' + +alias todo='noglob todo -f +children' + +alias vim='vim -p' + +alias desmume='pushd ~/lib/games/nds; desmume --num-cores=2' + +alias irc='dtach -A ~/.dtach.irssi irssi' +alias jabber='dtach -A ~/.dtach.mcabber mcabber' + +# }}} +# {{{ Font + +alias font-present='echo -en "\033]50;-*-terminus-medium-*-*-*-*-320-*-*-*-*-*-*\007"' +alias font-default='echo -en "\033]50;-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-iso10646-1\007"' + +# }}} +# {{{ Global + +# global aliases are slightly evil, but (usually) not messy +alias -g EG='|egrep' +alias -g FG='|fgrep' +alias -g G='|grep' +alias -g H='|head' +alias -g L='|less' +alias -g T='|tail' + +# }}} +# {{{ Loop me + +alias allf='for i in *(.);' +alias alld='for i in *(/);' +alias alle='for i in *(*);' +alias alll='for i in *(@);' +alias all='for i in *;' + +alias allfr='for i in **/*(.);' +alias alldr='for i in **/*(/);' +alias aller='for i in **/*(*);' +alias alllr='for i in **/*(@);' +alias allr='for i in **/*;' + +# }}} +# {{{ Short (similar to default options) + +alias dua='du --apparent-size' + +alias lasth='last | head -$((LINES-1))' + +alias fbif='fbi -a' +alias fbij='fbi -a -u' + +for i in ~/var/gtd/*(.N); { + alias gtd-${i:t}='todo --database '$i +} + +alias lsi='feh --list' +alias lst='tar tvf' +alias lsz='unzip -l' + +alias nb='newsbeuter' +alias nbr='newsbeuter -r' + +alias rd='rmdir' + +alias rsync-serve="rsync --daemon --port=10873 --no-detach --config=/dev/stdin --log-file=/dev/stdout -v <<< $'[.]\n\tpath = .\n\tuse chroot = no'" + +# Mateguthaben in CCC-Erfas u.ä. +alias mate='decrement ~/stuff/$(cat ~/var/tmp/.actual-location)/mateguthaben' + +alias x='unsetopt bg_nice; startx &! exit' + +# }}} +if [[ $distro == debian ]] { #{{{ + + alias acse='apt-cache search' + alias afse='apt-file search' + alias apse='aptitude search' + + alias acp='apt-cache policy' + alias acsh='apt-cache show' + alias afsh='apt-file show' + alias apsh='aptitude show' + alias dps='dpkg --status' + + alias agu='sudo apt-get update' + alias apu='sudo aptitude update' + + alias ags='sudo apt-get upgrade' + alias agf='sudo apt-get dist-upgrade' + alias aps='sudo aptitude safe-upgrade' + alias apf='sudo aptitude full-upgrade' + + alias agi='sudo apt-get install' + alias api='sudo aptitude install' + alias dpi='sudo dpkg --install' + + alias agc='sudo apt-get clean' + alias apc='sudo aptitude clean' + + alias agar='sudo apt-get autoremove' + alias agp='sudo apt-get purge' + alias agr='sudo apt-get remove' + alias dpp='sudo dpkg --purge' + alias dpr='sudo dpkg --remove' + + alias agsrc='apt-get source' + + alias dprc='sudo dpkg-reconfigure' + +} #}}} +if [[ -e /tmp/.x-started ]] { #{{{ + + alias feh='feh --quiet --verbose --action8 "nrm '\'%f\'\" + + # Alias structure: + # feh[theme][recursive?][slide-delay?] + # theme = [f]ullscreen | [i]ndex | [j]ust | [t]humbnail + # recursive: r for recursive, nothing otherwise + # slide-delay: + # none - no slideshow + # x - slideshow, seconds will be specified on commandline + # (like "fehfrx 7 .") + # The themes are defined in ~/.fehrc + alias fehf='feh -Tfs' + alias fehfr='feh -Tfs --recursive' + alias fehi='feh .fehindex.jpg' + alias fehj='feh -Trfs' + alias fehjr='feh -Trfs --recursive' + alias fehjx='feh -Trfs --slideshow-delay' + alias fehfx='feh -Tfs --slideshow-delay' + alias fehjrx='feh -Trfs --recursive --slideshow-delay' + alias fehfrx='feh -Tfs --recursive --slideshow-delay' + alias feht='feh -Tthumbnail' + alias fehtr='feh -Tthumbnail --recursive' + + alias putscreen='put $(screenshot)' + + alias weather='feh http://www.bredeney-wetter.de/aktuell.gif' +} #}}} + +# }}} +# {{{ Misc + +mesg n +if ((UID)) { + umask 077 +} else { + umask 002 +} +chpwd + +# Show infos if requested (.xinitrc) + +if ((SHOW_INFO)) { + $ZDIR/../helpers/info +} + +# }}} +# {{{ Includes + +# no xsource here - typeset may be used +if [[ -e $ZDIR/../provided/includes ]] { + source $ZDIR/../provided/includes +} + +# local configuration, not in git +xsource $ZDIR/local + +[[ -n $commands[envstore] ]] && eval $(envstore eval) + +# local configuration, in git +xsource $ZDIR/hosts/$HOST + +# }}} +# {{{ Completion + +zstyle ':completion:*' cache-path $ZCACHEDIR +zstyle ':completion:*' use-cache true + +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} + +zstyle ':completion:*' menu select=1 + +# Complete uppercase chars with lowercase ones, spaces with _, +# start completion somewhere else than the beginning of the word if neccessary +zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z} m:_=\\\ ' '+ l:|=* r:|=*' + +zstyle ':completion:*' verbose true + +zstyle ':completion:*:descriptions' format '· %d ·' +zstyle ':completion:*:messages' format '· %d ·' +zstyle ':completion:*:corrections' format '· %d ·' +zstyle ':completion:*:warnings' format '%F{red}no match:%F{default} %d' + +zstyle ':completion:*' group-name '' + +# Force menu completion since the input is just a stupid number +zstyle ':completion:*:*:kill:*' menu yes +zstyle ':completion:*:*:(todo|td*):*:items' menu yes + +zstyle ':completion:*:*:vi(m|):*' ignored-patterns \ + 'a.out|*.o' + +# source: http://madism.org/~madcoder/dotfiles/zsh/40_completion +zstyle ':completion:*:processes' command 'ps -au$USER -o pid,time,cmd|grep -v "ps -au$USER -o pid,time,cmd"' +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)[ 0-9:]#([^ ]#)*=01;30=01;31=01;38' + +zstyle ':completion:*:manuals' separate-sections true +zstyle ':completion:*:manuals.*' insert-sections true + +# $hosts is set from the hosts package +zstyle ':completion:*' hosts ${(k)hosts} + +[[ -e $ZCACHEDIR/compdump ]] || zrc_info "Creating completion cache" +compinit -C -d $ZCACHEDIR/compdump + +compdef _hosts sshmount +compdef _functions reload + +# }}} +# {{{ Cleanup + +unalias 'linux:' +unfunction zrc_info +unfunction xsource +unset system distro +unset -m 'mime_*' + +# }}} diff --git a/etc/env b/etc/env deleted file mode 100644 index 45c601b..0000000 --- a/etc/env +++ /dev/null @@ -1,26 +0,0 @@ -## vim:ft=zsh - -: ${ZDIR:=$HOME/packages/zsh/etc} -PS4='%b%u%s%k%F{cyan}%N%F{default}:%F{yellow}%i%F{default}│' -fpath=($ZDIR/functions $ZDIR/completions $fpath) - -# Additional zshenv settings from caretaker -[[ -r $ZDIR/../provided/env ]] && source $ZDIR/../provided/env - -export EDITOR==vim -export MPD_HOST=mpd -export CALENDAR_DIR=$HOME/stuff -export LESS='--silent --no-init --clear-screen --RAW-CONTROL-CHARS --quit-if-one-screen --ignore-case --tabs=5' - -# Required for various scripts -export HOST -export COLUMNS -export LINES - -if [[ -n $commands[lesspipe] ]] { - export LESSOPEN='| lesspipe %s' - export LESSCLOSE='lesspipe %s %s' -} - -# local settings, not tracked with git -[[ -r $ZDIR/local-env ]] && source $ZDIR/local-env diff --git a/etc/logout b/etc/logout deleted file mode 100644 index 8dbb030..0000000 --- a/etc/logout +++ /dev/null @@ -1,2 +0,0 @@ -## vim:ft=zsh -clear diff --git a/etc/profile b/etc/profile deleted file mode 100644 index ffdd0f1..0000000 --- a/etc/profile +++ /dev/null @@ -1,20 +0,0 @@ -## vim:ft=zsh -function pr_info { - print -P "%F{cyan}>>%F{default} $*" -} - -echo - -pr_info "This is %F{cyan}$(uname -srm)%F{default} on %F{cyan}%y%F{default}" -[[ -r /etc/gentoo-release ]] && pr_info "Running %F{cyan}Gentoo%F{default} ${$(cat /etc/gentoo-release)#(#i)gentoo }" -[[ -r /etc/debian_version ]] && pr_info "Running %F{cyan}Debian%F{default} $(cat /etc/debian_version)" -[[ -r /etc/arch-release ]] && pr_info "Running %F{cyan}Arch%F{default}" -[[ -r /etc/redhat-release ]] && pr_info "Running %F{cyan}Redhat%F{default}" - -echo - -[[ -n $(echo Maildir/new/*(N)) ]] && pr_info "You have mail!" -[[ -r $ZDIR/local-profile ]] && source $ZDIR/local-profile -[[ -r $ZDIR/hosts/profile-$HOST ]] && source $ZDIR/hosts/profile-$HOST - -unfunction pr_info diff --git a/etc/rc b/etc/rc deleted file mode 100644 index 9fc59dd..0000000 --- a/etc/rc +++ /dev/null @@ -1,555 +0,0 @@ -## vim:ft=zsh:foldmethod=marker -## Copyright (c) 2008, 2009 by Daniel Friesel -## Licence: -## 0. You just DO WHAT THE FUCK YOU WANT TO. -## -## https://derf.homelinux.org/dotfiles/zsh/rc -## see also: https://derf.homelinux.org/dotfiles/zsh/ - -# {{{ OS Detection - -system=${$(uname):l} - -alias 'linux:'='[[ $system == linux ]] &&' - -if [[ $system == linux ]] { - [[ -f /etc/debian_version ]] && distro=debian -} - -# }}} -# {{{ Startup infos - -function zrc_info { - print -P "%F{red}>>%F{default} $*" -} - -# }}} -# {{{ Options - -setopt auto_pushd pushd_ignore_dups pushd_minus pushd_silent -setopt auto_cd - -setopt transient_rprompt - -setopt list_packed - -setopt extended_glob - -unsetopt bang_hist - -setopt correct - -# greedy is more like dvorak than qwerty... -setopt dvorak -unsetopt flow_control -setopt rc_quotes - -unsetopt beep - -# }}} -# {{{ Shell parameters - -## parameters which are only important for interactive shells. -## For application-related parameters, see .zshenv - -if [[ -d ~/var/cache/zsh ]] { - ZCACHEDIR=~/var/cache/zsh -} else { - mkdir -p ~/.zsh-cache - ZCACHEDIR=~/.zsh-cache -} - -HISTFILE=$ZCACHEDIR/history -HISTSIZE=50000 -SAVEHIST=$HISTSIZE - -DIRSTACKSIZE=20 - -# Use the full terminal size for listings -LISTMAX=0 - -TIMEFMT='%J (%P) - %*E real, %*U user, %*S system' - -if (( EUID != 0)) { - path+=(/sbin /usr/sbin /usr/local/sbin) -} - -export MAKEFLAGS=j$(grep -c '^processor' /proc/cpuinfo) - -typeset -U path -path=(~/bin $path) - -# Add manuals from caretaker to manpath -if [[ $distro == debian ]] { - if [[ -e ~/packages/catman ]] { - export MANPATH=/var/cache/man - } else { - export MANPATH=/usr/share/man - if (( COLUMNS > 100 )) { - export MANWIDTH=100 - } - } - MANPATH+=":/usr/local/share/man:$HOME/packages/.collected/man" -} - -# }}} -# {{{ MIME parameters - -mime_archive=( - 7z ace arj bz bz2 cpio deb dz gz jar lzh lzma rar rpm rz svgz - tar taz tbz2 tgz tz z Z zip zoo -) -mime_audio=( - aif aifc aiff amr amr au awb awb axa flac gsm kar m3u m3u m4a mid midi - mp2 mp3 mpega mpga oga ogg pls ra ra ram rm sd2 sid snd spx wav wax wma -) -mime_document=(pdf ps) -mime_image=( - art bmp cdr cdt cpt cr2 crw djv djvu erf gif ico ief jng jpe jpeg jpg nef orf - pat pbm pcx pgm png pnm ppm psd ras rgb svg svgz tif tiff wbmp xbm xpm xwd -) -mime_video=( - 3gp asf asx avi axv dif divx dl dv fli flv gl lsf lsx m2t mkv mng mov - movie mp4 mpe mpeg mpg mpv mxu ogm ogv qt rmvb wm wmv wmx wvx -) - -# }}} -# {{{ ls-colors (partially based on MIME) - -# default:file :dirctory: link : pipe : socket -LS_COLORS="no=00:fi=00:di=01;37:ln=01;36:pi=40;33:so=01;35" - -# door : block dev : char dev :broken link: setuid -LS_COLORS+=":do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41" - -# setgid : +t,o+w : o+w : sticky : executable -LS_COLORS+=":sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32" - -LS_COLORS+=:${(j/:/):-"*."${^mime_archive}"=04;31"} -LS_COLORS+=:${(j/:/):-"*."${^mime_audio}"=04;36"} -LS_COLORS+=:${(j/:/):-"*."${^mime_document}"=04"} -LS_COLORS+=:${(j/:/):-"*."${^mime_image}"=04;33"} -LS_COLORS+=:${(j/:/):-"*."${^mime_video}"=04;32"} - -export LS_COLORS - -# }}} -# {{{ Functions - -autoload -U compinit -autoload zargs zmv - -if [[ -e $ZDIR/functions ]] { - autoload $ZDIR/functions/*(:t) -} else { - # No cool extra stuff - zrc_info "Running in standalone mode" - # rtab is tracked in functions/, so it may not be present everywhere. - # However, the prompt assumes the presence of a 'rtab' function. - function rtab { - print -P %~ - } -} - - -# This all belongs into the prompt, but since it only changes -# when changing directories, it's more efficient to do it here -function chpwd { - psvar[1]=$(dirinfo) - psvar[2]=$(rtab) -} - -function dirinfo { - typeset string - - [[ -r .todo ]] && string+='todo ' - [[ -f .fehindex.jpg ]] && string+='feh ' - [[ -d .hg ]] && string+='hg ' - [[ -d .git ]] && string+='git ' - [[ -d .svn ]] && string+='svn ' - [[ -f Makefile || -f makefile ]] && string+='make ' - - echo ${string% } -} - -function xhashd { - typeset directory=${~1#*\=} name=${1%%\=*} - - if [[ -d $directory ]] { - hash -d $name=$directory - } -} - -# Note: local assignments (typeset foo=bar) are lost. export foo=bar works. -function xsource { - if [[ -r $1 ]] { - source $1 - } -} - -function Status Start Stop Restart Reload { - typeset script sudo - if ((EUID)) { - sudo=sudo - } - for script in $*; { - $sudo /etc/init.d/$script ${0:l} - } -} - -# }}} -# {{{ ZLE - -autoload -U url-quote-magic - -zle -N self-insert url-quote-magic - -# }}} -# {{{ Prompt - -# RPS1 is on the right side of the terminal -# The \ek\e\\ is for screen's 'shelltitle' - -# psvar[1] = directory info -# psvar[2] = rtab (current directory) - -typeset -A ps rps - -ps=( - host "%F{yellow}%m" - dir "%F{default}%30<…<%2v%>>" - sign "%(!.%F{red}.%F{green})%(?.%(!.#.>).%?)%F{default}" - screen $'%{\ek\e\\%}' -) - -rps=( - start_always "%F{yellow}[" - start_screen "%(1V.%F{yellow}[" - dirinfo "%F{default}%1v" - end_always "%F{yellow}]%F{default}" - end_screen "%(1V.%F{yellow}]%F{default}.)" -) - -PS1="${ps[host]} ${ps[dir]} ${ps[sign]} ${ps[screen]}" - -RPS1="${rps[start_screen]}${rps[dirinfo]}${rps[end_screen]}" - -unset ps rps - -zstyle ':prompt:rtab' fish yes -zstyle ':prompt:rtab' nameddirs yes - - -# }}} -# {{{ Named directories - -hash -d vcs=~/var/svn -xhashd lyrics=~vcs/lyrics -xhashd www=/var/www -xhashd web=~/public_html - -# }}} -# {{{ Keys - -bindkey -e -[[ -z $terminfo[kdch1] ]] || bindkey -M emacs $terminfo[kdch1] delete-char -[[ -z $terminfo[khome] ]] || bindkey -M emacs $terminfo[khome] beginning-of-line -[[ -z $terminfo[kend] ]] || bindkey -M emacs $terminfo[kend] end-of-line - -# }}} -# {{{ Aliases -# {{{ Suffix - -typeset -A alias_apps -alias_apps=( - archive extract - audio mplayer - document kpdf - image feh - video mplayer -) - -for meta in ${parameters[(I)mime_*]#mime_}; { - for format in $(eval echo "$"mime_$meta); { - alias -s $format=$alias_apps[$meta] - } -} - -unset filetypes meta format alias_apps - -# }}} -# {{{ Defaults - -# To evade these defaults, use '=command' instead of 'command' - -linux: { - alias grep='grep --color=auto' - alias egrep='grep -E' - alias fgrep='grep -F' - alias bzgrep='bzgrep --color=auto' - alias zgrep='zgrep --color=auto' -} - - -linux: alias df='df -hl --exclude-type=fuse.encfs' || - alias df='df -hl' - -linux: alias du='du -shD' || - alias du='du -shH' - -linux: alias ls='ls -h --color=auto' || - alias ls='ls -h' - -## enable alias expansion -alias exec='exec ' -alias sudo='sudo ' - -linux: alias netstat='sudo netstat --program --all --tcp --extend' || - alias netstat='sudo netstat -atp tcp' - - -alias bc='bc -l' - -alias fbi='fbi -readahead' - -alias cp='cp -i' -alias mv='mv -i' - -alias pmount='pmount -A' - -alias find='noglob find' - -alias man='man -a' - -# ps -C foo is better than ps aux | fgrep foo ;-) -alias ps='ps -F' - -alias todo='noglob todo -f +children' - -alias vim='vim -p' - -alias desmume='pushd ~/lib/games/nds; desmume --num-cores=2' - -alias irc='dtach -A ~/.dtach.irssi irssi' -alias jabber='dtach -A ~/.dtach.mcabber mcabber' - -# }}} -# {{{ Font - -alias font-present='echo -en "\033]50;-*-terminus-medium-*-*-*-*-320-*-*-*-*-*-*\007"' -alias font-default='echo -en "\033]50;-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-iso10646-1\007"' - -# }}} -# {{{ Global - -# global aliases are slightly evil, but (usually) not messy -alias -g EG='|egrep' -alias -g FG='|fgrep' -alias -g G='|grep' -alias -g H='|head' -alias -g L='|less' -alias -g T='|tail' - -# }}} -# {{{ Loop me - -alias allf='for i in *(.);' -alias alld='for i in *(/);' -alias alle='for i in *(*);' -alias alll='for i in *(@);' -alias all='for i in *;' - -alias allfr='for i in **/*(.);' -alias alldr='for i in **/*(/);' -alias aller='for i in **/*(*);' -alias alllr='for i in **/*(@);' -alias allr='for i in **/*;' - -# }}} -# {{{ Short (similar to default options) - -alias dua='du --apparent-size' - -alias lasth='last | head -$((LINES-1))' - -alias fbif='fbi -a' -alias fbij='fbi -a -u' - -for i in ~/var/gtd/*(.N); { - alias gtd-${i:t}='todo --database '$i -} - -alias lsi='feh --list' -alias lst='tar tvf' -alias lsz='unzip -l' - -alias nb='newsbeuter' -alias nbr='newsbeuter -r' - -alias rd='rmdir' - -alias rsync-serve="rsync --daemon --port=10873 --no-detach --config=/dev/stdin --log-file=/dev/stdout -v <<< $'[.]\n\tpath = .\n\tuse chroot = no'" - -# Mateguthaben in CCC-Erfas u.ä. -alias mate='decrement ~/stuff/$(cat ~/var/tmp/.actual-location)/mateguthaben' - -alias x='unsetopt bg_nice; startx &! exit' - -# }}} -if [[ $distro == debian ]] { #{{{ - - alias acse='apt-cache search' - alias afse='apt-file search' - alias apse='aptitude search' - - alias acp='apt-cache policy' - alias acsh='apt-cache show' - alias afsh='apt-file show' - alias apsh='aptitude show' - alias dps='dpkg --status' - - alias agu='sudo apt-get update' - alias apu='sudo aptitude update' - - alias ags='sudo apt-get upgrade' - alias agf='sudo apt-get dist-upgrade' - alias aps='sudo aptitude safe-upgrade' - alias apf='sudo aptitude full-upgrade' - - alias agi='sudo apt-get install' - alias api='sudo aptitude install' - alias dpi='sudo dpkg --install' - - alias agc='sudo apt-get clean' - alias apc='sudo aptitude clean' - - alias agar='sudo apt-get autoremove' - alias agp='sudo apt-get purge' - alias agr='sudo apt-get remove' - alias dpp='sudo dpkg --purge' - alias dpr='sudo dpkg --remove' - - alias agsrc='apt-get source' - - alias dprc='sudo dpkg-reconfigure' - -} #}}} -if [[ -e /tmp/.x-started ]] { #{{{ - - alias feh='feh --quiet --verbose --action8 "nrm '\'%f\'\" - - # Alias structure: - # feh[theme][recursive?][slide-delay?] - # theme = [f]ullscreen | [i]ndex | [j]ust | [t]humbnail - # recursive: r for recursive, nothing otherwise - # slide-delay: - # none - no slideshow - # x - slideshow, seconds will be specified on commandline - # (like "fehfrx 7 .") - # The themes are defined in ~/.fehrc - alias fehf='feh -Tfs' - alias fehfr='feh -Tfs --recursive' - alias fehi='feh .fehindex.jpg' - alias fehj='feh -Trfs' - alias fehjr='feh -Trfs --recursive' - alias fehjx='feh -Trfs --slideshow-delay' - alias fehfx='feh -Tfs --slideshow-delay' - alias fehjrx='feh -Trfs --recursive --slideshow-delay' - alias fehfrx='feh -Tfs --recursive --slideshow-delay' - alias feht='feh -Tthumbnail' - alias fehtr='feh -Tthumbnail --recursive' - - alias putscreen='put $(screenshot)' - - alias weather='feh http://www.bredeney-wetter.de/aktuell.gif' -} #}}} - -# }}} -# {{{ Misc - -mesg n -if ((UID)) { - umask 077 -} else { - umask 002 -} -chpwd - -# Show infos if requested (.xinitrc) - -if ((SHOW_INFO)) { - $ZDIR/../helpers/info -} - -# }}} -# {{{ Includes - -# no xsource here - typeset may be used -if [[ -e $ZDIR/../provided/includes ]] { - source $ZDIR/../provided/includes -} - -# local configuration, not in git -xsource $ZDIR/local - -[[ -n $commands[envstore] ]] && eval $(envstore eval) - -# local configuration, in git -xsource $ZDIR/hosts/$HOST - -# }}} -# {{{ Completion - -zstyle ':completion:*' cache-path $ZCACHEDIR -zstyle ':completion:*' use-cache true - -zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} - -zstyle ':completion:*' menu select=1 - -# Complete uppercase chars with lowercase ones, spaces with _, -# start completion somewhere else than the beginning of the word if neccessary -zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z} m:_=\\\ ' '+ l:|=* r:|=*' - -zstyle ':completion:*' verbose true - -zstyle ':completion:*:descriptions' format '· %d ·' -zstyle ':completion:*:messages' format '· %d ·' -zstyle ':completion:*:corrections' format '· %d ·' -zstyle ':completion:*:warnings' format '%F{red}no match:%F{default} %d' - -zstyle ':completion:*' group-name '' - -# Force menu completion since the input is just a stupid number -zstyle ':completion:*:*:kill:*' menu yes -zstyle ':completion:*:*:(todo|td*):*:items' menu yes - -zstyle ':completion:*:*:vi(m|):*' ignored-patterns \ - 'a.out|*.o' - -# source: http://madism.org/~madcoder/dotfiles/zsh/40_completion -zstyle ':completion:*:processes' command 'ps -au$USER -o pid,time,cmd|grep -v "ps -au$USER -o pid,time,cmd"' -zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)[ 0-9:]#([^ ]#)*=01;30=01;31=01;38' - -zstyle ':completion:*:manuals' separate-sections true -zstyle ':completion:*:manuals.*' insert-sections true - -# $hosts is set from the hosts package -zstyle ':completion:*' hosts ${(k)hosts} - -[[ -e $ZCACHEDIR/compdump ]] || zrc_info "Creating completion cache" -compinit -C -d $ZCACHEDIR/compdump - -compdef _hosts sshmount -compdef _functions reload - -# }}} -# {{{ Cleanup - -unalias 'linux:' -unfunction zrc_info -unfunction xsource -unset system distro -unset -m 'mime_*' - -# }}} -- cgit v1.2.3