189377b4025a45c57a279a772cd022cae57aadad
[home-base.git] / .bashrc
1 # ~/.bashrc: executed by bash(1) for non-login shells.
2 # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
3 # for examples
4
5 # If running interactively, then:
6 if [ "$PS1" ]; then
7
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
15         EDITOR="/usr/bin/vi";
16     fi;
17
18     if [ -n "$EDITOR" ]; then
19         export EDITOR;
20     fi;
21     # bts debian options
22
23     export DEBEMAIL="don@debian.org"
24
25     # enable color support of ls and also add handy aliases
26     eval `dircolors -b`
27     alias ls='ls --color=auto'
28     alias gr='gimp-remote-2.2'
29     alias emc='sane_editor'
30
31     alias svn-b="svn-buildpackage --svn-builder 'pdebuild --buildresult ..' --svn-ignore-new"
32
33     # set a fancy prompt
34     #printf '\33]2;%s\007'
35     PS1="\[\033[0;36m\]\h \t \w$\[\033[0m\] "
36     # \[\033[1;36m\][\w]\n\[\033[0;36m\][\h|\t]$ \[\033[0m\]
37
38     # make sure the term we're using exists in the termcap
39     TOEOPT='-a'
40     if ! toe $TOEOPT >/dev/null 2>&1; then
41         TOEOPT=''
42     fi;
43     if ! toe $TOEOPT|grep -q "^$TERM    "; then
44         # if it doesn't, try to switch
45         case $TERM in
46             rxvt*)
47                 TERM="rxvt"
48                 ;;
49             xterm*)
50                 TERM="xterm"
51                 ;;
52             *)
53                 ;;
54         esac
55         export TERM;
56     fi;
57     # If this is an xterm set the title to user@host:dir
58     case $TERM in
59         screen|xterm*)
60             PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
61             ;;
62         rxvt*)
63             PROMPT_COMMAND='echo -ne "\033]2;${USER}@${HOSTNAME}: ${PWD}\007"'
64             ;;
65
66         *)
67             ;;
68     esac
69
70     # enable programmable completion features (you don't need to enable
71     # this, if it's already enabled in /etc/bash.bashrc).
72     if [ -f /etc/bash_completion ]; then
73       . /etc/bash_completion;
74     fi;
75
76     # set up ssh-agent
77     if which ssh-agent >/dev/null && [ -d ~/.ssh ]; then
78 #       for 
79         if [ -e ~/.ssh/ssh_agent_info ] && \
80             [ -n "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" ] && \
81             kill -0 "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info)" >/dev/null 2>&1; then
82             . ~/.ssh/ssh_agent_info > /dev/null
83         elif [ -e ~/.ssh/ssh_agent_info_$(hostname) ] && \
84             kill -0 "$(awk -F '[=;]' '/^SSH_AGENT_PID/{print $2}' ~/.ssh/ssh_agent_info_$(hostname))" >/dev/null 2>&1; then
85             . ~/.ssh/ssh_agent_info_$(hostname) > /dev/null
86         else
87             ssh-agent -s > ~/.ssh/ssh_agent_info_$(hostname)
88             . ~/.ssh/ssh_agent_info_$(hostname) > /dev/null
89         fi;
90     fi;
91     
92     alias aumix2='aumix -d /dev/mixer1 -I'
93     if locale -a |grep -qi en_US.utf8; then
94         LANG="en_US.UTF-8"
95     else
96         LANG=C
97     fi;
98     export LANG
99     export PATH="~/bin:$PATH"
100     if [ ! -e ~/tmp ]; then
101         mkdir ~/tmp;
102     fi;
103     export TMPDIR="$(echo ~/tmp)";
104
105     if [ -n "$(which devtodo)" ]; then
106         for a in tda tdd tde; do
107             alias "s${a}"="STODO_NO_COMMIT=1 $a"
108         done;
109
110         TODO_OPTIONS="--timeout --summary"
111
112         cd ()
113         {
114             builtin cd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS}
115         }
116
117         pushd ()
118         {
119             builtin pushd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS}
120         }
121         
122         popd ()
123         {
124             builtin popd "$@" && [ -r .todo ] && devtodo ${TODO_OPTIONS}
125         }              
126         
127         # Run todo initially upon login
128         devtodo ${TODO_OPTIONS}
129     fi;
130 fi