summaryrefslogtreecommitdiffstats
path: root/bashrc
blob: 9d08ceae1e225f449ef286746485a3e4aa749522 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
#! /bin/bash

# PROMPT
parse_git_branch() {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}

PS1='`hostname`:`pwd`# '
if [ `whoami` = "root" ]; then	# effective uid
    export PS1='\[\033[01;47;31m\]\h\[\033[40;31m\] \u \[\033[37m\]\W \$ \[\033[00m\]'
else
    # export PS1='\[\033[01;47;31m\]\h\[\033[40;34m\] \u \[\033[37m\]\W $(parse_git_branch) \$ \[\033[00m\]'
    export PS1='\[\033[01;33m\]\u\[\033[01;35m\]@\[\033[00;31m\]\h\[\033[00m\]:\[\033[0;33m \w $(parse_git_branch) \[\033[00m\]\$ '
fi
PS2='> '
unset PROMPT_COMMAND

# TERM
if [ -r /usr/share/terminfo/x/xterm-256color ]; then
    export TERM='xterm-256color'
else
    export TERM='xterm-color'
fi
eval $(dircolors ~/.dir_colors)

# BELL
if [ ! -z $DISPLAY ]; then
    xset b 0
fi
if [ ! -z `which setterm 2>/dev/null` ]; then
    setterm -blength 0
fi

# VIMMODE
set -o vi

# ALIASES
#alias vimb="vim -u $HOME/.vimrc-bepo"

# COLORLS
OSNAME=`uname`
case $OSNAME in
    Linux)
        alias ls="ls --color=auto -F -b -T 0"
        alias ll="ls -l --color=auto -F -b -T 0"
        ;;
    FreeBSD)
        LSCOLOR="3x5x2x3x1x464301060203"
        alias ls="ls -GF"
        export LSCOLORS
        ;;
    OpenBSD)
        alias ls="colorls -F -G"
        export PKG_PATH="ftp://mirror.switch.ch/mirror/OpenBSD/4.0/packages/i386/"
        ;;
esac
HOME_=$(readlink -f ${HOME%/})

set_if_not_in( ) {
    env_var=$1
    arg=$2
    IFS=":";
    for p in ${!env_var}; do if [ $p == $arg ]; then IFS=" "; return 0; fi done
    IFS=" ";
    export ${env_var}=$arg:${!env_var}
}

LIBS=/var/lib
LOCALGIT=${HOME_}/usr/git
LOCALLIB=${HOME_}/lib

# GREP
export GREP_OPTIONS=--color

# GIT
# export GIT_PAGER=cat
# export GIT_BASE=${LOCALGIT}

# PYTHON
export PYTHONPATH=${HOME_}/lib/python:/opt/efl/lib/python2.7/site-packages/

# PERL
export PERL5LIB=${LIBS}/perl/lib
# set_if_not_in "PATH" "${LIBS}/perl/bin"

# RUBY
# export RB_USER_INSTALL=1    # see /usr/local/lib/ruby/1.8/i386-freebsd7/rbconfig.rb
export RUBYOPT=rubygems
export GEM_HOME="${HOME_}/.gem/ruby/1.9.1"
export RUBYLIB=${LOCALLIB}/ruby/
set_if_not_in 'PATH' ${GEM_HOME}/bin

# JAVA
export CLASSPATH=${HOME_}/lib/java

# PIDGIN
export NSS_SSL_CBC_RANDOM_IV=0

SHARE=${HOME_}/share

# LATEX
TEXBASE=${SHARE}/tex
export TEXMFHOME=${TEXBASE}/texmf
export TEXMFVAR=${TEXBASE}/texmf-var
export TEXMFCONFIG=${TEXBASE}/texmf-config
# export TEXINPUTS=${TEXBASE}/texmf/ext:
# export MFINPUTS=${TEXBASE}/texmf/fonts

# prepend ~/bin to path if not already there
export PATH=${HOME_}/bin:${PATH#${HOME_}/bin:}

export PKG_PATH=`which pkg-config 2>/dev/null`
export LOCATEDB=$HOME/etc/locate.`hostname`.db

my_export()
{
    _TMP=`which $2 2>/dev/null`
    if [ -z ${_TMP} ]; then
        _TMP=$3
    fi
    eval "export $1=$_TMP"
}

# PAGER
my_export 'PAGER' 'less' '/bin/more'
my_export 'EDITOR' 'vim' '/usr/bin/vi'

# catch and eval dmalloc output
#function dmalloc { eval `command dmalloc -b $*`; }
#alias lss="ls -l"

# MISC
export SDL_AUDIODRIVER="pulse"
export PA_RUNTIME_PATH=/tmp/pulse-jeyzu
export OOO_FORCE_DESKTOP=gnome
export OGGOPTS="-b 160 -q 4"
if [ ! -z `which ncmpc 2>/dev/null` ]; then
    export MPD_HOST=bigdaddy;
fi

#
SSH_ENV=${HOME}/.ssh/environment
#
function start_agent {
    /usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
    chmod 600 ${SSH_ENV}
    . ${SSH_ENV} > /dev/null
    /usr/bin/ssh-add $(ls ~/.ssh/*.pub | sed 's/\.pub.*//g' | tr '\n' ' ')
}
#
if [ -e "${SSH_ENV}" ]; then
    . ${SSH_ENV} > /dev/null
    ps ux | grep ssh-agent$ | grep ${SSH_AGENT_PID} >/dev/null || {
        # kill old agents
        PIDS=`pidof ssh-agent`
        if [ ! -z "${PIDS}" ]; then
            for PID in ${PIDS}; do
                kill ${PID} 2>/dev/null
            done
        fi
        start_agent;
    }
else
    start_agent
fi