summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-02-29 20:05:57 -0600
committerJesse Luehrs <doy@tozt.net>2012-03-01 03:02:25 -0600
commit3b861f796f21980ac2b5863e0e442e64708f4a5b (patch)
tree5b5c05eabc7fa42e391099ba2f1b1448ca333253
parentdb397c36be222e4facb1a179d833f897120f05dd (diff)
downloadconf-3b861f796f21980ac2b5863e0e442e64708f4a5b.tar.gz
conf-3b861f796f21980ac2b5863e0e442e64708f4a5b.zip
start making shell stuff more portable
-rw-r--r--Makefile5
-rw-r--r--aliases132
-rw-r--r--bash_logout3
-rw-r--r--bashrc157
-rwxr-xr-xbin/fancy-prompt10
-rw-r--r--env24
-rw-r--r--logout5
-rw-r--r--sh/cdhist.sh (renamed from bash/cdhist.sh)7
8 files changed, 183 insertions, 160 deletions
diff --git a/Makefile b/Makefile
index 12914b1..09a5a02 100644
--- a/Makefile
+++ b/Makefile
@@ -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 \
diff --git a/aliases b/aliases
new file mode 100644
index 0000000..ac785c0
--- /dev/null
+++ b/aliases
@@ -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:
diff --git a/bashrc b/bashrc
index 01931e6..d411b14 100644
--- a/bashrc
+++ b/bashrc
@@ -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 {
diff --git a/env b/env
new file mode 100644
index 0000000..e078c3f
--- /dev/null
+++ b/env
@@ -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:
diff --git a/logout b/logout
new file mode 100644
index 0000000..acf55d6
--- /dev/null
+++ b/logout
@@ -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