X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=shell%2Fenv;h=2047e60a8aa5379d20b50aef8928ac0fa8d982e6;hb=7d5048570745abcae35256e8a34e8a2f4d0f3b0a;hp=2d89b53416dbde019b6abc7939da8666c2e32c92;hpb=33abe57eca171174226a826dd06f4b770f5aafcf;p=config%2Fdotfiles.git diff --git a/shell/env b/shell/env index 2d89b53..2047e60 100644 --- a/shell/env +++ b/shell/env @@ -1,9 +1,39 @@ # Configuration file for environment related options for all shells. +# Copyright (C) 2011-2012 Simon Ruderich +# +# This file is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this file. If not, see . -# Use UTF-8 encoding in the terminal. -LC_ALL=en_US.UTF-8 -export LC_ALL + +source_debug ". ~/.shell/env" + + +# Use UTF-8 encoding in the terminal. Don't use LC_ALL as it's used for +# debugging purposes. Thanks to twb in Freenode/#screen (2009-10-02 10:25). +LANG=en_US.UTF-8 +export LANG + +# Add ~/bin and ~/.bin and ~/.shell/bin to PATH if available. +if [ -d ~/.shell/bin ]; then + PATH=~/.shell/bin:$PATH +fi +if [ -d ~/bin ]; then + PATH=~/bin:$PATH +fi +if [ -d ~/.bin ]; then + PATH=~/.bin:$PATH +fi # Use Vim as editor. EDITOR=vim @@ -13,10 +43,60 @@ export EDITOR PAGER=less export PAGER -# Set colors for ls (and zsh completions). This colors files normal (fi), -# directories blue bold (di), symbolic links cyan (ln), named pipes normal -# (pi), sockets normal (so), block devices normal (bd), character devices -# normal (cd) and executables bold red (ex). +# Use ~/.tmp as directory for temporary files if available to reduce security +# problems on multi-user systems. +if [ -O ~/.tmp -a -d ~/.tmp ]; then + TMP=~/.tmp + TEMP=$TMP + TMPDIR=$TMP + export TMP TEMP TMPDIR +# Also try ~/tmp as fallback. +elif [ -O ~/tmp -a -d ~/tmp ]; then + TMP=~/tmp + TEMP=$TMP + TMPDIR=$TMP + export TMP TEMP TMPDIR +fi + +# Change rlwrap's home directory to prevent cluttering ~. +RLWRAP_HOME=~/.shell/rlwrap +export RLWRAP_HOME + +# Set colors for GNU ls (and zsh completions). # See `dircolors --print-database` for possible colors. -LS_COLORS='no=00:fi=00:di=34;01:ln=36:pi=00:so=00:bd=00:cd=00:ex=31;01' +LS_COLORS='no=00' +LS_COLORS=$LS_COLORS':fi=00' # normal files: normal +LS_COLORS=$LS_COLORS':di=34;01' # directories: blue bold +LS_COLORS=$LS_COLORS':ln=36' # symbolic links: cyan +LS_COLORS=$LS_COLORS':pi=00' # named pipes: normal +LS_COLORS=$LS_COLORS':so=00' # sockets: normal +LS_COLORS=$LS_COLORS':bd=00' # block devices: normal +LS_COLORS=$LS_COLORS':cd=00' # character devices: normal +LS_COLORS=$LS_COLORS':or=36;41' # orphaned links: red background +LS_COLORS=$LS_COLORS':su=31;01;43' # setuid files: yellow background +LS_COLORS=$LS_COLORS':sg=31;01;43' # setgid files: yellow background +LS_COLORS=$LS_COLORS':ow=34;01;41' # directories writable by others: blue background +LS_COLORS=$LS_COLORS':ex=31;01' # executables: bold red export LS_COLORS +# Set the same colors for non GNU ls, except for orphaned links which aren't +# supported. +LSCOLORS='ExgxxxxxBxxxxxBdBdExEb' +# ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ +# | | | | | | | | | | | +# | | | | | | | | | | *- directory writable to others, without sticky bit +# | | | | | | | | | *--- directory writable to others, with sticky bit +# | | | | | | | | *----- executable with setgid bit set +# | | | | | | | *------- executable with setuid bit set +# | | | | | | *--------- character special +# | | | | | *----------- block special +# | | | | *------------- executable +# | | | *--------------- pipe +# | | *----------------- socket +# | *------------------- symbolic link +# *--------------------- directory +export LSCOLORS + + +source_debug ". ~/.shell/env (done)" + +# vim: ft=sh