]> git.phdru.name Git - dotfiles.git/blob - .profile
bash: Prepend memory control group to `PS1`
[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       # display the user, host and current working directory
179       # in the terminal title
180       case "$TERM" in
181          *rxvt*|screen*|*term*|vt100)
182             OPS1="\[\033]0;${debian_chroot:+($debian_chroot)}\u@\h:\w\007\]"
183             case "$TERM" in
184                screen*)
185                   OPS1=${OPS1}"\[\033k${debian_chroot:+($debian_chroot)}\u@\h:\w\033\\\\\]" # Set screen/tmux caption
186                ;;
187             esac
188          ;;
189
190          *)
191             OPS1=""
192          ;;
193       esac
194
195       if [ -r "$HOME"/admin/prog/bash_prompt ]; then
196          . "$HOME"/admin/prog/bash_prompt
197          OPS1=${OPS1}"${debian_chroot:+($debian_chroot)}\u@\${HOSTNAME::5} \`short_curdir\` \\$"
198       else
199          OPS1=${OPS1}"${debian_chroot:+($debian_chroot)}\u@\h \W \\$"
200       fi
201       . "$ENV"
202
203    else
204       OPS1="${debian_chroot:+($debian_chroot)}`/usr/bin/whoami`@`/bin/hostname -s` >"
205    fi
206
207    export OPS1
208
209    ### biff controls new mail notification
210    #biff n
211    ### mesg controls messages (write/talk) from other users
212    mesg n
213    # make mail(1) use a pager
214    crt=; export crt
215
216    PYTHONSTARTUP="$HOME"/lib/python/init.py
217    export PYTHONSTARTUP
218
219    name="Oleg Broytman"
220    email="phd@phdru.name"
221
222    GIT_AUTHOR_NAME="$name"
223    GIT_AUTHOR_EMAIL="$email"
224    GIT_COMMITTER_NAME="$name"
225    GIT_COMMITTER_EMAIL="$email"
226    export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL
227
228    HGUSER="$name <$email>"
229    export HGUSER
230
231    unset name email
232
233    #if test -f .hushlogin && ! cmp -s .motd /etc/motd; then
234    #   tee $HOME/.motd < /etc/motd
235    #fi
236 fi
237
238 # No need to set DISPLAY - ssh sets DISPLAY and calls xauth
239 #DISPLAY="`who am i | awk '{print substr($6, 2, length($6)-2 )}' | sed -e 's/:.*$//'`:0.0"
240 #export DISPLAY
241
242 if [ -n "$DISPLAY" ]; then
243    # mutt, python and vim
244    BACKGROUND=LIGHT
245    export BACKGROUND
246    [ -n "$HAS_LESS" ] && . "$HOME"/lib/config/less/light_bg
247
248    # BROWSERs
249    BROWSER="firefox:seamonkey:chromium:google-chrome:opera:xlinks2:$BROWSER"
250
251    ### X Window System Configuration
252    #XAPPLRESDIR="$HOME/lib/X11/app-defaults/"; export XAPPLRESDIR
253    ### Old-style XNLSPATH
254    #XNLSPATH=/usr/X11R6/lib/X11/nls; export XNLSPATH
255
256    # For GTK2/GLib to convert filenames between internal and locale encodings
257    G_FILENAME_ENCODING="@locale"
258    export G_FILENAME_ENCODING
259    #G_BROKEN_FILENAMES=1
260    #export G_BROKEN_FILENAMES
261
262    # X Input Method, for Multi key (Compose) to work
263    GTK_IM_MODULE=xim
264    QT_IM_MODULE=xim
265    export GTK_IM_MODULE QT_IM_MODULE
266
267    # GTK2 anti-aliasing
268    GDK_USE_XFT=1
269    export GDK_USE_XFT
270
271    # nVidia OpenGL full scene anti-aliasing
272    #__GL_FSAA_MODE=4
273    #export __GL_FSAA_MODE
274
275    #xhost +local:root > /dev/null 2>&1
276 fi
277
278 [ -n "$HAS_LESS" ] && unset HAS_LESS
279
280 #
281 # read in usepkg function
282 # . "$HOME"/lib/config/usepkg.sh
283 #
284
285 #
286 # usepkg gnu
287 #
288
289 #
290 # If SUN console, start the windows system
291 #
292 # if [ `tty` = /dev/console ] ; then
293 #    if [ "$TERM" = sun -o "$TERM" = AT386 ] ; then
294 #
295 #       if [ ${OPENWINHOME:-""} = "" ] ; then
296 #          OPENWINHOME=/usr/openwin
297 #          export OPENWINHOME
298 #       fi
299 #
300 #       echo ""
301 #       echo "Starting OpenWindows in 5 seconds (type Control-C to interrupt)"
302 #       sleep 5
303 #
304 #       "$OPENWINHOME"/bin/openwin
305 #
306 #       clear      # get rid of annoying cursor rectangle
307 #       #exit      # logout after leaving windows system
308 #
309 #    fi
310 # fi