diff options
author | Jesse Luehrs <doy@tozt.net> | 2012-02-29 20:05:57 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2012-03-01 03:02:25 -0600 |
commit | 3b861f796f21980ac2b5863e0e442e64708f4a5b (patch) | |
tree | 5b5c05eabc7fa42e391099ba2f1b1448ca333253 | |
parent | db397c36be222e4facb1a179d833f897120f05dd (diff) | |
download | conf-3b861f796f21980ac2b5863e0e442e64708f4a5b.tar.gz conf-3b861f796f21980ac2b5863e0e442e64708f4a5b.zip |
start making shell stuff more portable
-rw-r--r-- | Makefile | 5 | ||||
-rw-r--r-- | aliases | 132 | ||||
-rw-r--r-- | bash_logout | 3 | ||||
-rw-r--r-- | bashrc | 157 | ||||
-rwxr-xr-x | bin/fancy-prompt | 10 | ||||
-rw-r--r-- | env | 24 | ||||
-rw-r--r-- | logout | 5 | ||||
-rw-r--r-- | sh/cdhist.sh (renamed from bash/cdhist.sh) | 7 |
8 files changed, 183 insertions, 160 deletions
@@ -1,16 +1,19 @@ INTO = $(HOME) INSTALL = abcde.conf \ + aliases \ bash_logout \ bash_profile \ bashrc \ conkerorrc \ conkyrc \ crawlrc \ + env \ gitconfig \ gitignore \ gtkrc \ gtkrc-2.0 \ inputrc \ + logout \ minicpanrc \ mutt \ nethackrc \ @@ -24,7 +27,7 @@ INSTALL = abcde.conf \ xinitrc \ xmobarrc \ abook \ - bash \ + sh \ bin \ dzil \ interhack \ @@ -0,0 +1,132 @@ +# adding options to common commands {{{ +alias ls="ls --color=auto --group-directories-first" +alias grep="grep --color=auto" +alias rm="rm -i" +alias cp="cp -i" +alias mv="mv -i" +alias bc="bc -lq" +alias truecrypt="sudo truecrypt -t" +alias prove="prove -rj5" +alias cpan-outdated="cpan-outdated --mirror file://${HOME}/perl5/minicpan/" +alias netstat="netstat -a --inet --numeric-port" +# }}} +# games {{{ +alias nao="(TERM=rxvt telnet nethack.alt.org)" +alias cao="(TERM=rxvt /usr/bin/ssh -C -i ${HOME}/.ssh/cao_key joshua@crawl.akrasiac.org)" +alias cdo="ssh -C -i ${HOME}/.ssh/cao_key crawl@crawl.develz.org" +alias scn="(TERM=xterm-color telnet slashem.crash-override.net)" +alias spork="telnet sporkhack.nineball.org" +alias cgoban="javaws http://files.gokgs.com/javaBin/cgoban.jnlp" +alias counterstrike="wine c:\\Program\ Files\\Sierra\\Half-Life\\hl.exe -game cstrike -console -numericping -nojoy -noipx" +alias halflife="wine c:\\Program\ Files\\Sierra\\Half-Life\\hl.exe" # -console breaks +alias starcraft='wine c:\\Program\ Files\ \(x86\)\\Starcraft\\StarCraft.exe' +# }}} +# termcast {{{ +alias tc="telnet termcast.org" +# }}} +# shells {{{ +alias bishamon='ssh bishamon' +alias apt="ssh ${USER}@apt.tozt.net" +alias jjaro="ssh ${USER}@jjaro.net" +alias tozt="ssh -t ${USER}@tozt.net tmux a" +alias henzell="ssh henzell@crawl.akrasiac.org" +# }}} +# tmux sessions {{{ +alias main='tmux a -t main' +alias work='tmux a -t work' +alias docs='tmux a -t docs' +alias misc='tmux a -t misc' +# }}} +# other {{{ +alias wgetff='wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070404 Firefox/2.0.0.3"' +alias dotperl="rsync -av lib/* ${HOME}/perl5/local/" +alias clean_packages='sudo pacman -Rsn $(pacman -Qqdt)' +alias pm="find lib -type f | sort" +alias bootstrap_cpanm="wget -O- -q http://xrl.us/cpanm | perl - App::cpanminus" +function web { + local port=$1 + if [[ -z $port ]]; then + plackup -MPlack::App::Directory -e'Plack::App::Directory->new' + else + plackup -MPlack::App::Directory -e'Plack::App::Directory->new' --port $port + fi +} +function perldoc { + # XXX bash specific + if type cpandoc > /dev/null 2>&1; then + cpandoc "$@" + else + command perldoc "$@" + fi +} +function incoming { + cpanm http://pause.cpan.org/incoming/$1.tar.gz +} +function webcam { + local width=$1 + local height=$2 + if [[ -z $width ]]; then width=640; fi + if [[ -z $height ]]; then height=480; fi + mplayer tv:// -tv driver=v4l2:width=${width}:height=${height}:device=/dev/video0 -fps 15 -vf screenshot +} +function webcam_record { + local width=$1 + if [[ -z $width ]]; then width=640; else shift; fi + local height=$1 + if [[ -z $height ]]; then height=480; else shift; fi + mencoder tv:// -tv driver=v4l2:width=${width}:height=${height}:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o $1 +} +function luado { # thanks rici + local e=$1 + shift + lua /dev/fd/3 $* 4<&0- <<<$e 3<&0- 0<&4- +} +function moose { + perl -Moose -E "$*" +} +function setfont { + printf '\e]710;%s\007' "$1" +} +function mem_usage { + ps -eo size,ucmd | sort -rn | head -n$([ -z "$1" ] && echo 20 || echo $1) +} +function opened_files { + strace $* 2>&1 | grep -E '^open\(' | \ + grep -v ENOENT | \ + grep -v O_DIRECTORY | \ + cut -f2 -d"\"" | \ + grep -vE '^/proc/' | \ + grep -v '^/sys/' | \ + grep -v '^/dev/' +} +function alert { + echo "DISPLAY=$DISPLAY xmessage -center -default okay $1" | at $2 +} +function nopaste_moose { + nopaste --chan=#moose --services=Shadowcat --desc="$1" +} +function gist { + nopaste --services=Gist --desc="$1" +} +function fm22avi { + fceux --playmov $1.fm2 --sound 1 --soundq 1 --soundrate 48000 --nospritelim 1 --pal 0 --xscale 1 --yscale 1 --opengl 0 --special 0 $2 --videolog "mencoder - -o $1.avi -ovc x264 -x264encopts qp=0 -oac mp3lame -lameopts mode=3:preset=128 -noskip -nocache -mc 0 -aspect 4/3 NESVSETTINGS" +} +function pdfcat { + local out=$1 + shift + gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$out $* +} +function svup { + svc -u "$HOME/.services/$1" + svstat "$HOME/.services/$1" +} +function svdn { + svc -d "$HOME/.services/$1" + svstat "$HOME/.services/$1" +} +function svst { + svstat "$HOME/.services/$1" +} +# }}} + +# vim:ft=sh: diff --git a/bash_logout b/bash_logout index acf55d6..8af3bdf 100644 --- a/bash_logout +++ b/bash_logout @@ -1,5 +1,4 @@ # This file is sourced when a login shell terminates. -sudo -k -clear +source .logout # vim:ft=sh: @@ -5,28 +5,7 @@ # anything or bad things will happen ! # }}} # environment {{{ -export PATH="${HOME}/.bin/marathon:${HOME}/.bin/nethack:${HOME}/.bin:/usr/local/sbin:/usr/local/bin:/usr/lib/ccache/bin:$PATH" -export MPD_HOST=bishamon -export LUA_CPATH='/usr/local/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/?/init.so;./?.so' -export LUA_PATH='/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;?.lua' -export MANPAGER="${HOME}/.bin/vimmanpager" -export EDITOR=$(which vim) -export SVN_SSH="${HOME}/.bin/ssh" -export DARCS_SSH="${HOME}/.bin/ssh" -export DARCS_SCP="${HOME}/.bin/scp" -export DARCS_SFTP="${HOME}/.bin/sftp" -export GIT_SSH="${HOME}/.bin/ssh" -export RSYNC_RSH="${HOME}/.bin/ssh" -export PERL5LIB="${HOME}/perl5/local/:${HOME}/perl5/local/lib/perl5/site_perl/5.10.0/i686-linux" -export CVS_RSH="${HOME}/.bin/ssh" -export TEXINPUTS=".:${HOME}/conf/tex:" -export LESS='-QR' -export NOPASTE_SERVICES="Codepeek Shadowcat Pastie Husk" -export PERL_CPANM_OPT="-q --mirror file://${HOME}/perl5/minicpan/ --mirror http://mirrors.kernel.org/cpan/ --mirror http://search.cpan.org/CPAN --prompt" -type -P git > /dev/null 2>&1 && export GIT_EXEC_PATH="${HOME}/.bin/git:"`git --exec-path` -[ -x /usr/bin/lesspipe ] && export LESSOPEN='|/usr/bin/lesspipe %s' -[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN='|/usr/bin/lesspipe.sh %s' -[ -f $HOME/perl5/perlbrew/etc/bashrc ] && source $HOME/perl5/perlbrew/etc/bashrc +[ -f "$HOME/.env" ] && source $HOME/.env # }}} # Test for an interactive shell. {{{ # There is no need to set anything past this point for scp and rcp, and it's @@ -51,140 +30,12 @@ case ${TERM} in ;; esac # }}} # aliases {{{ -# adding options to common commands {{{ -alias ls="ls --color=auto --group-directories-first" -alias grep="grep --color=auto" -alias rm="rm -i" -alias cp="cp -i" -alias mv="mv -i" -alias bc="bc -lq" -alias truecrypt="sudo truecrypt -t" -alias prove="prove -rj5" -alias cpan-outdated="cpan-outdated --mirror file://${HOME}/perl5/minicpan/" -alias netstat="netstat -a --inet --numeric-port" -# }}} -# games {{{ -alias nao="(TERM=rxvt telnet nethack.alt.org)" -alias cao="(TERM=rxvt /usr/bin/ssh -C -i ${HOME}/.ssh/cao_key joshua@crawl.akrasiac.org)" -alias cdo="ssh -C -i ${HOME}/.ssh/cao_key crawl@crawl.develz.org" -alias scn="(TERM=xterm-color telnet slashem.crash-override.net)" -alias spork="telnet sporkhack.nineball.org" -alias cgoban="javaws http://files.gokgs.com/javaBin/cgoban.jnlp" -alias counterstrike="wine c:\\Program\ Files\\Sierra\\Half-Life\\hl.exe -game cstrike -console -numericping -nojoy -noipx" -alias halflife="wine c:\\Program\ Files\\Sierra\\Half-Life\\hl.exe" # -console breaks -alias starcraft='wine c:\\Program\ Files\ \(x86\)\\Starcraft\\StarCraft.exe' -# }}} -# termcast {{{ -alias tc="telnet termcast.org" -# }}} -# shells {{{ -alias bishamon='ssh bishamon' -alias apt="ssh ${USER}@apt.tozt.net" -alias jjaro="ssh ${USER}@jjaro.net" -alias tozt="ssh -t ${USER}@tozt.net tmux a" -alias henzell="ssh henzell@crawl.akrasiac.org" -# }}} -# tmux sessions {{{ -alias main='tmux a -t main' -alias work='tmux a -t work' -alias docs='tmux a -t docs' -alias misc='tmux a -t misc' -# }}} -# other {{{ -alias wgetff='wget --user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.3) Gecko/20070404 Firefox/2.0.0.3"' -alias dotperl="rsync -av lib/* ${HOME}/perl5/local/" -alias clean_packages='sudo pacman -Rsn $(pacman -Qqdt)' -alias pm="find lib -type f | sort" -alias bootstrap_cpanm="wget -O- -q http://xrl.us/cpanm | perl - App::cpanminus" -function web { - local port=$1 - if [[ -z $port ]]; then - plackup -MPlack::App::Directory -e'Plack::App::Directory->new' - else - plackup -MPlack::App::Directory -e'Plack::App::Directory->new' --port $port - fi -} -function perldoc { - if type -P cpandoc > /dev/null 2>&1; then - cpandoc "$@" - else - command perldoc "$@" - fi -} -function incoming { - cpanm http://pause.cpan.org/incoming/$1.tar.gz -} -function webcam { - local width=$1 - local height=$2 - if [[ -z $width ]]; then width=640; fi - if [[ -z $height ]]; then height=480; fi - mplayer tv:// -tv driver=v4l2:width=$width:height=$height:device=/dev/video0 -fps 15 -vf screenshot -} -function webcam_record { - local width=$1 - if [[ -z $width ]]; then width=640; else shift; fi - local height=$1 - if [[ -z $height ]]; then height=480; else shift; fi - mencoder tv:// -tv driver=v4l2:width=$width:height=$height:device=/dev/video0:forceaudio:adevice=/dev/dsp -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o $1 -} -function luado { # thanks rici - local e=$1 - shift - lua /dev/fd/3 $* 4<&0- <<<$e 3<&0- 0<&4- -} -function moose { - perl -Moose -E "$*" -} -function setfont { - printf '\e]710;%s\007' "$1" -} -function mem_usage { - ps -eo size,ucmd | sort -rn | head -n$([ -z "$1" ] && echo 20 || echo $1) -} -function opened_files { - strace $* 2>&1 | grep -E '^open\(' | \ - grep -v ENOENT | \ - grep -v O_DIRECTORY | \ - cut -f2 -d"\"" | \ - grep -vE '^/proc/' | \ - grep -v '^/sys/' | \ - grep -v '^/dev/' -} -function alert { - echo "DISPLAY=$DISPLAY xmessage -center -default okay $1" | at $2 -} -function nopaste_moose { - nopaste --chan=#moose --services=Shadowcat --desc="$1" -} -function gist { - nopaste --services=Gist --desc="$1" -} -function fm22avi { - fceux --playmov $1.fm2 --sound 1 --soundq 1 --soundrate 48000 --nospritelim 1 --pal 0 --xscale 1 --yscale 1 --opengl 0 --special 0 $2 --videolog "mencoder - -o $1.avi -ovc x264 -x264encopts qp=0 -oac mp3lame -lameopts mode=3:preset=128 -noskip -nocache -mc 0 -aspect 4/3 NESVSETTINGS" -} -function pdfcat { - local out=$1 - shift - gs -q -sPAPERSIZE=letter -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=$out $* -} -function svup { - svc -u "$HOME/.services/$1" - svstat "$HOME/.services/$1" -} -function svdn { - svc -d "$HOME/.services/$1" - svstat "$HOME/.services/$1" -} -function svst { - svstat "$HOME/.services/$1" -} -# }}} +[ -f "$HOME/.aliases" ] && source $HOME/.aliases # }}} # external files {{{ [ -f /etc/bash_completion ] && source /etc/bash_completion [ -f /etc/profile.d/bash-completion ] && source /etc/profile.d/bash-completion -source ~/.bash/cdhist.sh +source ~/.sh/cdhist.sh # }}} # bash configuration {{{ shopt -s extglob @@ -204,7 +55,7 @@ else export PROMPT_COMMAND="${PROMPT_COMMAND};history -a" fi # prompt {{{ -export PROMPT_COMMAND="__err=\$?;$PROMPT_COMMAND;PS1=\"\$(fancy-prompt --prompt-escape "\$__err")\"" +export PROMPT_COMMAND="__err=\$?;$PROMPT_COMMAND;PS1=\"\$(fancy-prompt --prompt-escape bash "\$__err")\"" # }}} # set the correct perl {{{ if type -a perlbrew > /dev/null 2>&1; then diff --git a/bin/fancy-prompt b/bin/fancy-prompt index c07c27e..8c1aece 100755 --- a/bin/fancy-prompt +++ b/bin/fancy-prompt @@ -4,10 +4,10 @@ # use warnings; # readline gets confused if non-printable characters in prompts aren't escaped -my $prompt_escape; +my $prompt_escape = ''; if ($ARGV[0] eq '--prompt-escape') { shift; - $prompt_escape = 1; + $prompt_escape = shift; } # collect information @@ -101,7 +101,8 @@ $colornames{battery} = $charging ? $colornames{background} : $colornames{battemerg}; sub color { my $code = $colors{$colornames{$_[0]}}; - $code = '\[' . $code . '\]' if $prompt_escape; + $code = '\[' . $code . '\]' if $prompt_escape eq 'bash'; + $code = '%{' . $code . '%}' if $prompt_escape eq 'zsh'; $code; } @@ -170,7 +171,8 @@ my $locstr = color('user') . $user . color('background') . $nested; # assemble the prompt -print join(' ', '', $pathstr, $battstr, $locstr, $timestr, ''), "\n"; +print join(' ', '', $pathstr, $battstr, $locstr, $timestr, ''); +print $prompt_escape eq 'zsh' ? "%{\n%}" : "\n"; print join(' ', $errstr, $promptstr, ''); sub battery { @@ -0,0 +1,24 @@ +export PATH="${HOME}/.bin/marathon:${HOME}/.bin/nethack:${HOME}/.bin:/usr/local/sbin:/usr/local/bin:/usr/lib/ccache/bin:$PATH" +export MPD_HOST=bishamon +export LUA_CPATH='/usr/local/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/?/init.so;./?.so' +export LUA_PATH='/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;?.lua' +export MANPAGER="${HOME}/.bin/vimmanpager" +export EDITOR=$(which vim) +export SVN_SSH="${HOME}/.bin/ssh" +export DARCS_SSH="${HOME}/.bin/ssh" +export DARCS_SCP="${HOME}/.bin/scp" +export DARCS_SFTP="${HOME}/.bin/sftp" +export GIT_SSH="${HOME}/.bin/ssh" +export RSYNC_RSH="${HOME}/.bin/ssh" +export PERL5LIB="${HOME}/perl5/local/:${HOME}/perl5/local/lib/perl5/site_perl/5.10.0/i686-linux" +export CVS_RSH="${HOME}/.bin/ssh" +export TEXINPUTS=".:${HOME}/conf/tex:" +export LESS='-QR' +export NOPASTE_SERVICES="Codepeek Shadowcat Pastie Husk" +export PERL_CPANM_OPT="-q --mirror file://${HOME}/perl5/minicpan/ --mirror http://mirrors.kernel.org/cpan/ --mirror http://search.cpan.org/CPAN --prompt" +type git > /dev/null 2>&1 && export GIT_EXEC_PATH="${HOME}/.bin/git:"`git --exec-path` +[ -x /usr/bin/lesspipe ] && export LESSOPEN='|/usr/bin/lesspipe %s' +[ -x /usr/bin/lesspipe.sh ] && export LESSOPEN='|/usr/bin/lesspipe.sh %s' +[ -f $HOME/perl5/perlbrew/etc/bashrc ] && source $HOME/perl5/perlbrew/etc/bashrc + +# vim:ft=sh: @@ -0,0 +1,5 @@ +# This file is sourced when a login shell terminates. +sudo -k +clear + +# vim:ft=sh: diff --git a/bash/cdhist.sh b/sh/cdhist.sh index 96c4a9b..d67d2e9 100644 --- a/bash/cdhist.sh +++ b/sh/cdhist.sh @@ -87,6 +87,7 @@ function cdhist_add { } function cdhist_del { + [[ -n $ZSH_VERSION ]] && setopt localoptions && setopt ksharrays local i=${1-0} if [ ${#CDHIST_CDQ[@]} -le 1 ]; then return; fi for ((; i<${#CDHIST_CDQ[@]}-1; i++)); do @@ -96,7 +97,9 @@ function cdhist_del { } function cdhist_rot { + [[ -n $ZSH_VERSION ]] && setopt localoptions && setopt ksharrays local i q + declare -a q for ((i=0; i<$1; i++)); do q[$i]="${CDHIST_CDQ[$(((i+$1+$2)%$1))]}" done @@ -106,6 +109,7 @@ function cdhist_rot { } function cdhist_cd { + [[ -n $ZSH_VERSION ]] && setopt localoptions && setopt ksharrays local i f=0 builtin cd "$@" || return 1 for ((i=0; i<${#CDHIST_CDQ[@]}; i++)); do @@ -122,6 +126,7 @@ function cdhist_cd { } function cdhist_history { + [[ -n $ZSH_VERSION ]] && setopt localoptions && setopt ksharrays local i d if [ $# -eq 0 ]; then for ((i=${#CDHIST_CDQ[@]}-1; 0<=i; i--)); do @@ -139,6 +144,7 @@ function cdhist_history { } function cdhist_forward { + [[ -n $ZSH_VERSION ]] && setopt localoptions && setopt ksharrays cdhist_rot ${#CDHIST_CDQ[@]} -${1-1} if ! builtin cd "${CDHIST_CDQ[0]}"; then cdhist_del 0 @@ -147,6 +153,7 @@ function cdhist_forward { } function cdhist_back { + [[ -n $ZSH_VERSION ]] && setopt localoptions && setopt ksharrays cdhist_rot ${#CDHIST_CDQ[@]} ${1-1} if ! builtin cd "${CDHIST_CDQ[0]}"; then cdhist_del 0 |