]> git.phdru.name Git - dotfiles.git/blob - .profile
bash: Move code related to prompt to `admin/prog/bash_prompt`
[dotfiles.git] / .profile
1 #
2 # $HOME/.profile (works with sh, ksh and bash)
3 #
4
5 # ~/.profile: executed by the command interpreter for login shells.
6 # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
7 # exists.
8 # see /usr/share/doc/bash/examples/startup-files for examples.
9 # the files are located in the bash-doc package.
10
11 if test -n "$BASH_VERSION"; then
12    case "$SHELL" in
13       */bash) ;;
14       */*csh) SHELL=/bin/bash ;;
15       # this is for bash.exe
16       *command.com | *\\bash) SHELL=//c/ubin/bash ;;
17    esac
18 #elif test -n "$KSH_VERSION"; then
19 #   ksh93
20 #elif test -n "$FCEDIT"; then
21 #   ksh88
22 #elif test -n "$ZSH_VERSION"; then
23 #   zsh
24 #elif test -n "$PS3"; then
25 #   unknown
26 #else
27 #   sh
28 fi
29
30 if [ -z "$USER" ]; then
31    USER="$LOGNAME"; export USER
32 fi
33
34 # the default umask is set in /etc/profile; for setting the umask
35 # for ssh logins, install and configure the libpam-umask package.
36 #umask 022
37
38 ### umask sets a mask for the default file permissions,
39 ### umask 022 is less restrictive, 077 more paranoid
40 umask 077
41
42 PATH="$HOME"/bin:"$HOME"/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
43 MANPATH="$HOME"/man:/usr/local/man:/usr/share/man:/usr/man
44 # LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib
45 export PATH MANPATH # LD_LIBRARY_PATH
46
47 LANG=C
48 #LC_ALL=C
49 case "$LC_CTYPE" in
50    *UTF-8) # LC_CTYPE is already set
51    ;;
52
53    *) LC_CTYPE=ru_RU.KOI8-R
54    ;;
55 esac
56 LC_COLLATE="$LC_CTYPE"
57 #LANGUAGE="ru en"
58 export LANG LC_CTYPE LC_COLLATE
59 unset LC_ALL LANGUAGE
60
61 # Default for df/du
62 BLOCKSIZE=1k
63 export BLOCKSIZE
64
65 ### uncomment to select an alternate timezone (/etc/localtime is default)
66 # TZ=/usr/share/zoneinfo/Europe/Moscow; export TZ
67
68 ### NEWS Configuration
69 ORGANIZATION=Home
70 # NNTPSERVER=news
71 export ORGANIZATION # NNTPSERVER
72
73 (set -P 2>/dev/null) && set -P # follow physical paths, not symlinks
74
75 # Interactive only commands
76 if [ -t 0 ] ; then
77    if [ -z "$TERM" ]; then
78       eval `tset -Q -s -m 'network:?xterm'`
79    fi
80
81    stty sane erase ^H
82
83    if which less >/dev/null 2>&1; then
84       HAS_LESS=true
85    fi
86
87    case "$TERM" in
88       linux)
89          # mutt, python and vim
90          BACKGROUND=DARK
91          export BACKGROUND
92          [ -n "$HAS_LESS" ] && . "$HOME"/lib/config/less/dark_bg
93       ;;
94
95       *rxvt*|screen*|*term*|vt100)
96          BACKGROUND=LIGHT
97          export BACKGROUND
98          [ -n "$HAS_LESS" ] && . "$HOME"/lib/config/less/light_bg
99       ;;
100    esac
101
102    if [ -x /usr/bin/dircolors ]; then
103        test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
104    fi
105
106    if [ -n "$HAS_LESS" ]; then
107       PAGER=less
108       LESS="Rgimq"
109       case "$LC_CTYPE" in
110          *UTF-8) LESSCHARSET=utf-8
111          ;;
112
113          *) LESSCHARSET=koi8-r
114          ;;
115       esac
116       #LESSCHARDEF=32c.
117       LESSEDIT='vim ?lt+%lt. -- %f'
118       export LESS LESSCHARSET LESSEDIT # LESSCHARDEF
119
120       # make less more friendly for non-text input files, see lesspipe(1)
121       #[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
122
123    else
124       PAGER=more
125    fi
126    export PAGER
127
128    EDITOR="$HOME"/.vim/vim.sh
129    FCEDIT="$EDITOR"
130    VISUAL="$EDITOR"
131    export EDITOR FCEDIT VISUAL
132
133    HISTCONTROL=ignoreboth
134    HISTIGNORE='&: *:x:X:[bf]g'
135    HISTFILE="$HOME/.sh_history"
136    HISTFILESIZE=2000
137    HISTSIZE=1000
138    export HISTCONTROL HISTIGNORE HISTFILE HISTFILESIZE HISTSIZE
139
140    # Used by bash/mc for hostname completion
141    HOSTFILE="$HOME"/lib/config/hosts
142    export HOSTFILE
143
144    MAIL="/var/mail/$USER"
145    MAILPATH="$MAIL:$HOME/mail/admin:$HOME/mail/block:$HOME/mail/bulk"
146    if [ -d "$HOME"/mail/lists/ ]; then
147          MAILPATH="$MAILPATH:`echo $HOME/mail/lists/* | sed 's/ /:/g'`"
148    fi
149    export MAIL MAILPATH
150
151    BROWSER="links2:links:elinks:w3m:lynx"
152    case "$TERM" in
153       *rxvt*|screen*|*term*|vt100)
154          BROWSER="l:$BROWSER"
155       ;;
156    esac
157    export BROWSER
158
159    #all_proxy="http://localhost:3128"
160    #ftp_proxy="$all_proxy"
161    #gopher_proxy="$all_proxy"
162    #http_proxy="$all_proxy"
163    #https_proxy="$all_proxy"
164    auto_proxy="file:///home/phd/admin/WWW/Mozilla/mozilla.pac"
165    no_proxy="localhost,127.0.0.1"
166    #export all_proxy ftp_proxy http_proxy https_proxy auto_proxy no_proxy # gopher_proxy
167    export auto_proxy no_proxy
168
169    ENV="$HOME/.shellrc"
170    export ENV
171
172    # set variable identifying the chroot you work in (used in the prompt below)
173    if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
174        debian_chroot="`cat /etc/debian_chroot`"
175    fi
176
177    if test -n "$BASH_VERSION"; then
178       . "$ENV"
179
180       if [ -r "$HOME"/admin/prog/bash_prompt ]; then
181          . "$HOME"/admin/prog/bash_prompt
182          set_prompts
183          unset set_prompts
184       else
185          OPS1="${debian_chroot:+($debian_chroot)}\u@\h:\W \\$"
186       fi
187
188    else
189       OPS1="${debian_chroot:+($debian_chroot)}`/usr/bin/whoami`@`/bin/hostname -s` >"
190    fi
191
192    export OPS1
193
194    ### biff controls new mail notification
195    #biff n
196    ### mesg controls messages (write/talk) from other users
197    mesg n
198    # make mail(1) use a pager
199    crt=; export crt
200
201    PYTHONSTARTUP="$HOME"/lib/python/init.py
202    export PYTHONSTARTUP
203
204    name="Oleg Broytman"
205    email="phd@phdru.name"
206
207    GIT_AUTHOR_NAME="$name"
208    GIT_AUTHOR_EMAIL="$email"
209    GIT_COMMITTER_NAME="$name"
210    GIT_COMMITTER_EMAIL="$email"
211    export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL
212
213    HGUSER="$name <$email>"
214    export HGUSER
215
216    unset name email
217
218    #if test -f .hushlogin && ! cmp -s .motd /etc/motd; then
219    #   tee $HOME/.motd < /etc/motd
220    #fi
221 fi
222
223 # No need to set DISPLAY - ssh sets DISPLAY and calls xauth
224 #DISPLAY="`who am i | awk '{print substr($6, 2, length($6)-2 )}' | sed -e 's/:.*$//'`:0.0"
225 #export DISPLAY
226
227 if [ -n "$DISPLAY" ]; then
228    # mutt, python and vim
229    BACKGROUND=LIGHT
230    export BACKGROUND
231    [ -n "$HAS_LESS" ] && . "$HOME"/lib/config/less/light_bg
232
233    # BROWSERs
234    BROWSER="firefox:seamonkey:chromium:google-chrome:opera:xlinks2:$BROWSER"
235
236    ### X Window System Configuration
237    #XAPPLRESDIR="$HOME/lib/X11/app-defaults/"; export XAPPLRESDIR
238    ### Old-style XNLSPATH
239    #XNLSPATH=/usr/X11R6/lib/X11/nls; export XNLSPATH
240
241    # For GTK2/GLib to convert filenames between internal and locale encodings
242    G_FILENAME_ENCODING="@locale"
243    export G_FILENAME_ENCODING
244    #G_BROKEN_FILENAMES=1
245    #export G_BROKEN_FILENAMES
246
247    # X Input Method, for Multi key (Compose) to work
248    GTK_IM_MODULE=xim
249    QT_IM_MODULE=xim
250    export GTK_IM_MODULE QT_IM_MODULE
251
252    # GTK2 anti-aliasing
253    GDK_USE_XFT=1
254    export GDK_USE_XFT
255
256    # nVidia OpenGL full scene anti-aliasing
257    #__GL_FSAA_MODE=4
258    #export __GL_FSAA_MODE
259
260    #xhost +local:root > /dev/null 2>&1
261 fi
262
263 [ -n "$HAS_LESS" ] && unset HAS_LESS
264
265 #
266 # read in usepkg function
267 # . "$HOME"/lib/config/usepkg.sh
268 #
269
270 #
271 # usepkg gnu
272 #
273
274 #
275 # If SUN console, start the windows system
276 #
277 # if [ `tty` = /dev/console ] ; then
278 #    if [ "$TERM" = sun -o "$TERM" = AT386 ] ; then
279 #
280 #       if [ ${OPENWINHOME:-""} = "" ] ; then
281 #          OPENWINHOME=/usr/openwin
282 #          export OPENWINHOME
283 #       fi
284 #
285 #       echo ""
286 #       echo "Starting OpenWindows in 5 seconds (type Control-C to interrupt)"
287 #       sleep 5
288 #
289 #       "$OPENWINHOME"/bin/openwin
290 #
291 #       clear      # get rid of annoying cursor rectangle
292 #       #exit      # logout after leaving windows system
293 #
294 #    fi
295 # fi