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