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