X-Git-Url: https://git.donarmstrong.com/?p=home-base.git;a=blobdiff_plain;f=.bashrc;h=c1bdbbe70e271d6c9d7ca03c3a31cc6b84f9ea0d;hp=c59a6a5b0c857c9cd82d254840251608aa46035f;hb=f6485eb8f3af1f0f1191e4fbcfc5e883aa8bcd5f;hpb=6799ba99bb3dd1e2aa5f38800ddc78d1c15de46b diff --git a/.bashrc b/.bashrc index c59a6a5..c1bdbbe 100644 --- a/.bashrc +++ b/.bashrc @@ -20,7 +20,12 @@ if [ "$PS1" ]; then fi; # bts debian options + if [ -e bin/faf ]; then + complete -F _command faf + fi; + export DEBEMAIL="don@debian.org" + export DEBHOME="$(eval 'echo' '~/projects/debian')" # enable color support of ls and also add handy aliases eval `dircolors -b` @@ -32,23 +37,31 @@ if [ "$PS1" ]; then # set a fancy prompt #printf '\33]2;%s\007' + + # See if we're in a chroot + if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then + debian_chroot=$(cat /etc/debian_chroot) + fi + # we want to set the color based on what machine we're on # if it's a remote, SSH_CONNECTION will be set - if [ -n "$SSH_CONNECTION" ]; then + # set variable identifying the chroot you work in (used in the prompt below) + + if [ -n "$SSH_CONNECTION" -o -n "$SSH_CLIENT" ]; then # figure out what color to use COLOR=$(hostname|md5sum|perl -ne 'if (/^([a-f\d]{8})/) { - my $num = unpack(q(L),pack(q(h*),$1)); + my $num = unpack(q(L),pack(q(H*),$1)); my @col = map {(qq(0;${_}m),qq(1;${_}m))} 31..37; - my $col = $col[$num%$#col]; + my $col = $col[$num % @col]; if ($col eq q(0;36m)) { $col = q(1;30m); } print $col; }') - PS1="\[\033[$COLOR\]\h \[\033[0;36m\]\t \w$\[\033[0m\] " + PS1="${debian_chroot:+($debian_chroot)}\[\033[$COLOR\]\h \[\033[0;36m\]\t \w$\[\033[0m\] " unset COLOR else - PS1="\[\033[0;36m\]\h \t \w$\[\033[0m\] " + PS1="${debian_chroot:+($debian_chroot)}\[\033[0;36m\]\h \t \w$\[\033[0m\] " fi; # \[\033[1;36m\][\w]\n\[\033[0;36m\][\h|\t]$ \[\033[0m\] @@ -91,7 +104,8 @@ if [ "$PS1" ]; then fi; # set up ssh-agent - if which ssh-agent >/dev/null && [ -d ~/.ssh ]; then + if which ssh-agent >/dev/null && [ -d ~/.ssh ] && \ + [ -z "$SSH_CONNECTION" ] && [ -z "$SSH_CLIENT" ]; then # for if [ -e ~/.ssh/ssh_agent_info ] && \ [ -n "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" ] && \ @@ -113,7 +127,13 @@ if [ "$PS1" ]; then LANG=C fi; export LANG + + # If we're running on liszt, include /var/list/.bin in the path + if [ "$(hostname)" == "liszt" ] && [ -d /var/list/.bin ]; then + PATH="/var/list/.bin:$PATH" + fi; export PATH="~/bin:$PATH" + if [ ! -e ~/tmp ]; then mkdir ~/tmp; fi; @@ -128,7 +148,12 @@ if [ "$PS1" ]; then cd () { - builtin cd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS} + # use pushd instead of cd + if [ -z "$1" ] || [ "$1" == "-" ]; then + builtin cd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS}; + else + builtin pushd "$@" >/dev/null && [ -r .todo ] && devtodo ${TODO_OPTIONS}; + fi; } pushd ()