]> git.donarmstrong.com Git - home-base.git/blobdiff - .bashrc
* use -f in tmpreaper to force deletion of things
[home-base.git] / .bashrc
diff --git a/.bashrc b/.bashrc
index c59a6a5b0c857c9cd82d254840251608aa46035f..06c0ab08c5248526ce70cc4b692b2ef1956eb1c5 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -20,6 +20,10 @@ if [ "$PS1" ]; then
     fi;
     # bts debian options
 
+    if [ -e bin/faf ]; then
+       complete -F _command faf
+    fi;
+
     export DEBEMAIL="don@debian.org"
 
     # enable color support of ls and also add handy aliases
@@ -32,23 +36,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\]
 
@@ -113,7 +125,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 +146,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 ()