Add .hushlogin, show /etc/motd in .profile if it was changed
[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          . "$HOME"/lib/config/less/dark_bg
69       ;;
70
71       *rxvt*|screen*|*term*|vt100)
72          BACKGROUND=LIGHT
73          export BACKGROUND
74          . "$HOME"/lib/config/less/light_bg
75       ;;
76    esac
77
78    PAGER=less
79    LESS="-gimq"
80    case "$LC_CTYPE" in
81       *UTF-8) LESSCHARSET=utf-8
82       ;;
83
84       *) LESSCHARSET=koi8-r
85       ;;
86    esac
87    #LESSCHARDEF=32c.
88    LESSEDIT='vim ?lt+%lt. -- %f'
89    export PAGER LESS LESSCHARSET LESSEDIT # LESSCHARDEF
90
91    EDITOR="$HOME"/.vim/vim.sh
92    VISUAL="$EDITOR"
93    FCEDIT="$EDITOR"
94    export EDITOR VISUAL FCEDIT
95
96    HISTCONTROL=ignoreboth
97    HISTIGNORE='&: *:x:X:[bf]g'
98    HISTFILE="$HOME/.sh_history"
99    HISTFILESIZE=1000
100    HISTSIZE=1000
101    export HISTCONTROL HISTIGNORE HISTFILE HISTFILESIZE HISTSIZE
102
103    # Used by bash/mc for hostname completion
104    HOSTFILE="$HOME"/lib/config/hosts
105    export HOSTFILE
106
107    MAIL="/var/mail/$USER"
108    MAILPATH="$MAIL:$HOME/mail/admin:$HOME/mail/block:$HOME/mail/bulk"
109    if [ -d "$HOME"/mail/lists/ ]; then
110          MAILPATH="$MAILPATH:`echo $HOME/mail/lists/* | sed 's/ /:/g'`"
111    fi
112    export MAIL MAILPATH
113
114    BROWSER="links2:links:elinks:w3m:lynx"
115    case "$TERM" in
116       *rxvt*|screen*|*term*|vt100)
117          BROWSER="l:$BROWSER"
118       ;;
119    esac
120    export BROWSER
121
122    #all_proxy="http://localhost:3128"
123    #ftp_proxy="$all_proxy"
124    #gopher_proxy="$all_proxy"
125    #http_proxy="$all_proxy"
126    #https_proxy="$all_proxy"
127    auto_proxy="file:///home/phd/admin/WWW/Mozilla/mozilla.pac"
128    no_proxy="localhost,127.0.0.1"
129    #export all_proxy ftp_proxy http_proxy https_proxy auto_proxy no_proxy # gopher_proxy
130    export auto_proxy no_proxy
131
132    ENV="$HOME/.shellrc"
133    export ENV
134
135    case "$SHELL" in
136       */bash)
137          shopt -s checkwinsize
138          OPS1='\u@\h '
139          . "$ENV"
140          ;;
141       *)
142          OPS1="`/usr/bin/whoami`@`/bin/hostname -s` "
143          ;;
144    esac
145
146    export OPS1
147
148    case "$TERM" in
149       *rxvt*|screen*|*term*|vt100)
150          if [ -x "`which xtitle 2>/dev/null`" ]; then
151             PROMPT_COMMAND=xtitle
152             export PROMPT_COMMAND
153          fi
154       ;;
155    esac
156
157    ### biff controls new mail notification
158    #biff n
159    ### mesg controls messages (write/talk) from other users
160    mesg n
161    # make mail(1) use a pager
162    crt=; export crt
163
164    PYTHONSTARTUP="$HOME"/lib/python/init.py
165    export PYTHONSTARTUP
166
167    name="Oleg Broytman"
168    email="phd@phdru.name"
169
170    GIT_AUTHOR_NAME="$name"
171    GIT_AUTHOR_EMAIL="$email"
172    GIT_COMMITTER_NAME="$name"
173    GIT_COMMITTER_EMAIL="$email"
174    export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL
175
176    HGUSER="$name <$email>"
177    export HGUSER
178
179    unset name email
180
181    if test -f .hushlogin && ! cmp -s .motd /etc/motd; then
182       tee $HOME/.motd < /etc/motd
183    fi
184 fi
185
186 # No need to set DISPLAY - ssh sets DISPLAY and calls xauth
187 #DISPLAY="`who am i | awk '{print substr($6, 2, length($6)-2 )}' | sed -e 's/:.*$//'`:0.0"
188 #export DISPLAY
189
190 if [ -n "$DISPLAY" ]; then
191    # mutt, python and vim
192    BACKGROUND=LIGHT
193    export BACKGROUND
194    . "$HOME"/lib/config/less/light_bg
195
196    # BROWSERs
197    BROWSER="firefox:seamonkey:chromium:google-chrome:opera:xlinks2:$BROWSER"
198
199    ### X Window System Configuration
200    #XAPPLRESDIR="$HOME/lib/X11/app-defaults/"; export XAPPLRESDIR
201    ### Old-style XNLSPATH
202    #XNLSPATH=/usr/X11R6/lib/X11/nls; export XNLSPATH
203
204    # For GTK2/GLib to convert filenames between internal and locale encodings
205    G_FILENAME_ENCODING="@locale"
206    export G_FILENAME_ENCODING
207    #G_BROKEN_FILENAMES=1
208    #export G_BROKEN_FILENAMES
209
210    # X Input Method, for Multi key (Compose) to work
211    GTK_IM_MODULE=xim
212    QT_IM_MODULE=xim
213    export GTK_IM_MODULE QT_IM_MODULE
214
215    # GTK2 anti-aliasing
216    GDK_USE_XFT=1
217    export GDK_USE_XFT
218
219    # nVidia OpenGL full scene anti-aliasing
220    #__GL_FSAA_MODE=4
221    #export __GL_FSAA_MODE
222 fi
223
224 #
225 # read in usepkg function
226 # . "$HOME"/lib/config/usepkg.sh
227 #
228
229 #
230 # usepkg gnu
231 #
232
233 #
234 # If SUN console, start the windows system
235 #
236 # if [ `tty` = /dev/console ] ; then
237 #    if [ "$TERM" = sun -o "$TERM" = AT386 ] ; then
238 #
239 #       if [ ${OPENWINHOME:-""} = "" ] ; then
240 #          OPENWINHOME=/usr/openwin
241 #          export OPENWINHOME
242 #       fi
243 #
244 #       echo ""
245 #       echo "Starting OpenWindows in 5 seconds (type Control-C to interrupt)"
246 #       sleep 5
247 #
248 #       "$OPENWINHOME"/bin/openwin
249 #
250 #       clear      # get rid of annoying cursor rectangle
251 #       #exit      # logout after leaving windows system
252 #
253 #    fi
254 # fi