1 # ~/.bashrc: executed by bash(1) for non-login shells.
2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
5 # If running interactively, then:
8 # don't put duplicate lines in the history. See bash(1) for more options
9 export HISTCONTROL=ignoredups
10 if [ -x ~/bin/sane_editor ]; then
11 EDITOR=~/bin/sane_editor;
12 elif [ -x /usr/bin/jed ]; then
13 EDITOR="/usr/bin/jed";
14 elif [ -x /usr/bin/vi ]; then
18 if [ -n "$EDITOR" ]; then
23 if [ -e bin/faf ]; then
24 complete -F _command faf
27 export DEBEMAIL="don@debian.org"
28 export DEBHOME="$(eval 'echo' '~/projects/debian')"
30 # enable color support of ls and also add handy aliases
32 alias ls='ls --color=auto'
33 alias gr='gimp-remote'
34 alias emc='sane_editor'
36 alias svn-b="svn-buildpackage --svn-builder 'pdebuild --buildresult ..' --svn-ignore-new"
39 #printf '\33]2;%s\007'
41 # See if we're in a chroot
42 if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
43 debian_chroot=$(cat /etc/debian_chroot)
46 # we want to set the color based on what machine we're on
47 # if it's a remote, SSH_CONNECTION will be set
48 # set variable identifying the chroot you work in (used in the prompt below)
50 # disable terminal bell
51 bind 'set bell-style none'
53 if [ -n "$SSH_CONNECTION" -o -n "$SSH_CLIENT" ]; then
54 # figure out what color to use
55 COLOR=$(hostname|md5sum|perl -ne 'if (/^([a-f\d]{8})/) {
56 my $num = unpack(q(L),pack(q(H*),$1));
57 my @col = map {(qq(0;${_}m),qq(1;${_}m))} 31..37;
58 my $col = $col[$num % @col];
59 if ($col eq q(0;36m)) {
64 PS1="${debian_chroot:+($debian_chroot)}\[\033[$COLOR\]\h \[\033[0;36m\]\t \w$\[\033[0m\] "
67 PS1="${debian_chroot:+($debian_chroot)}\[\033[0;36m\]\h \t \w$\[\033[0m\] "
69 # \[\033[1;36m\][\w]\n\[\033[0;36m\][\h|\t]$ \[\033[0m\]
71 # make sure the term we're using exists in the termcap
73 if ! toe $TOEOPT >/dev/null 2>&1; then
76 if ! toe $TOEOPT|grep -q "^$TERM "; then
77 # if it doesn't, try to switch
90 # If this is an xterm set the title to user@host:dir
93 PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
96 PROMPT_COMMAND='echo -ne "\033]2;${USER}@${HOSTNAME}: ${PWD}\007"'
103 # enable programmable completion features (you don't need to enable
104 # this, if it's already enabled in /etc/bash.bashrc).
105 if [ -f /etc/bash_completion ]; then
106 . /etc/bash_completion;
110 if which ssh-agent >/dev/null && [ -d ~/.ssh ] && \
111 [ -z "$SSH_CONNECTION" ] && [ -z "$SSH_CLIENT" ]; then
113 if [ -e ~/.ssh/ssh_agent_info ] && \
114 [ -n "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" ] && \
115 kill -0 "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" >/dev/null 2>&1; then
116 . ~/.ssh/ssh_agent_info > /dev/null
117 elif [ -e ~/.ssh/ssh_agent_info_$(hostname) ] && \
118 kill -0 "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info_$(hostname))" >/dev/null 2>&1; then
119 . ~/.ssh/ssh_agent_info_$(hostname) > /dev/null
121 ssh-agent -s > ~/.ssh/ssh_agent_info_$(hostname)
122 . ~/.ssh/ssh_agent_info_$(hostname) > /dev/null
126 alias aumix2='aumix -d /dev/mixer1 -I'
127 if locale -a |grep -qi en_US.utf8; then
134 # If we're running on liszt, include /var/list/.bin in the path
135 if [ "$(hostname)" == "liszt" ] && [ -d /var/list/.bin ]; then
136 PATH="/var/list/.bin:$PATH"
138 export PATH="$(getent passwd $(id -u)|awk -F: '{print $6}')/bin:$PATH"
140 if [ ! -e ~/tmp ]; then
143 export TMPDIR="$(echo ~/tmp)";
145 # if [ -n "$(which devtodo)" ]; then
146 # for a in tda tdd tde; do
147 # alias "s${a}"="STODO_NO_COMMIT=1 $a"
150 # TODO_OPTIONS="--timeout --summary"
154 # use pushd instead of cd
155 if [ -z "$1" ] || [ "$1" == "-" ]; then
156 builtin cd "$@"; # && [ -r .todo ] && devtodo ${TODO_OPTIONS};
158 builtin pushd "$@" >/dev/null; # && [ -r .todo ] && devtodo ${TODO_OPTIONS};
164 # builtin pushd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS}
169 # builtin popd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS}
172 # Run todo initially upon login
173 # devtodo ${TODO_OPTIONS}