Added stuff to defaria.com
[clearscm.git] / rc / bash_login
index 1650c31..c8807d0 100644 (file)
@@ -1,7 +1,7 @@
 ################################################################################
 #
 # File:         $RCSfile: bash_login,v $
-# Revision:    $Revision: 1.29 $
+# Revision:        $Revision: 1.29 $
 # Description:  bash startup file
 # Author:       Andrew@DeFaria.com
 # Created:      Mon Aug 20 17:35:01  2001
 # (c) Copyright 2000-2005, Andrew@DeFaria.com, all rights reserved.
 #
 ################################################################################
+# The following will set HOME, temporarily, to the directory of my $HOME so that
+# somebody other than me can envoke my startup scripts. I use this mainly for
+# when I become root with sudo -s and what a better environment that the bare
+# bones root environment gives you. Note that for us to be effective one must
+# source (or .) this file and if so the ${BASH_ARGV[0]} is the normal $0
+if [ -n "${BASH_ARGV[0]}" ]; then
+  home=$(dirname ${BASH_ARGV[0]})
+else
+  home=$HOME
+fi
+
+# Strip off .rc
+home=${home/%\/\.rc/}
+
+# Now set $HOME if $home is different.
+saved_home=$HOME
+if [ "$HOME" != "$home" ]; then
+  HOME=$home
+fi
+
 # Set ARCHITECTURE of the machine
 KERNEL=$(uname -s)
 if [[ $KERNEL = CYGWIN* ]]; then
@@ -21,6 +41,8 @@ elif [ $KERNEL = "SunOS" ]; then
   export ARCHITECTURE=sun
 elif [ $KERNEL = "FreeBSD" ]; then
   export ARCHITECTURE=$KERNEL
+elif [ $KERNEL = "Darwin" ]; then
+  export ARCHITECTURE=$KERNEL
 else
   export ARCHITECTURE=''
   echo "Warning: Unknown architecture ($KERNEL)"
@@ -100,8 +122,6 @@ if [ -r /etc/bash_completion -a $ARCHITECTURE != "cygwin" ]; then
   source /etc/bash_completion
 fi
 
-export CVSROOT=:ext:andrew@clearscm.com:/var/cvs/cvsroot
-
 if [ -x ~/.rc/logout ]; then
   trap "~/.rc/logout" 0
 fi
@@ -116,6 +136,11 @@ if [ -f ~/.rc/multisite ]; then
   source ~/.rc/multisite
 fi
 
+# Git Stuff
+if [ -f ~/.rc/git ]; then
+  source ~/.rc/git
+fi
+
 # Import shell functions:
 if [ -f ~/.rc/functions ]; then
   source ~/.rc/functions
@@ -126,10 +151,20 @@ set -o emacs
 set -o monitor
 set +u
 
+# Shell options
+if [ $ARCHITECTURE != 'Darwin' ]; then
+  if ! grep -qP '5\.(6|7|8|9|10)' /etc/*release; then
+    shopt -s autocd   > /dev/null 2>&1
+    shopt -s dirspell > /dev/null 2>&1
+  fi
+fi
+
+shopt -s cdspell
+shopt -s histappend
 shopt -s lithist
 
 # Aliases:
-if [ $ARCHITECTURE = "FreeBSD" ]; then
+if [ $ARCHITECTURE = "FreeBSD" -o $ARCHITECTURE = "Darwin" ]; then
   alias ls="ls -FG"
 else
   if [ -f ~/.rc/dircolors ]; then
@@ -154,13 +189,25 @@ if [ $ARCHITECTURE = "cygwin" ]; then
   alias host=nslookup
 fi
 
-export LANG=C
+if [ -f "$SYSTEMDRIVE/Perl64/bin/perl" ]; then
+  alias asperl="$SYSTEMDRIVE/Perl64/bin/perl"
+fi
+
+if [ -f "$SYSTEMDRIVE/Perl/bin/perl" ]; then
+  alias asperl="$SYSTEMDRIVE/Perl64/bin/perl"
+fi
 
-if [ $(type -p vim) ]; then
+if [ $(locale -a | grep -c en_US.utf8) != 0 ]; then
+  export LANG=en_US.utf8
+else
+  export LANG=C
+fi
+
+if [ "$(type -p vim)" ]; then
   alias vi=vim
 fi
 
-if [ $(type -p ncftp) ]; then
+if [ "$(type -p ncftp)" ]; then
   alias ftp=ncftp
   alias ftpput=ncftpput
   alias ftpget=ncftpget
@@ -168,13 +215,14 @@ fi
 
 #alias grep="grep -d skip"
 
-if [ "$TERM" = "hpterm"    -o \
-     "$TERM" = "hp"        -o \
-     "$TERM" = "dtterm"    -o \
-     "$TERM" = "sun-color" -o \
-     "$TERM" = "vt100"     -o \
-     "$TERM" = "vt220"     -o \
-     "$TERM" = "xterm"     -o \
+if [ "$TERM" = "hpterm"         -o \
+     "$TERM" = "hp"             -o \
+     "$TERM" = "dtterm"         -o \
+     "$TERM" = "sun-color"      -o \
+     "$TERM" = "vt100"          -o \
+     "$TERM" = "vt220"          -o \
+     "$TERM" = "xterm"          -o \
+     "$TERM" = "xterm-256color" -o \
      "$TERM" = "cygwin" ]; then
   alias cd=mycd
   alias pushd=mypushd
@@ -228,6 +276,11 @@ if [ -d /opt/clearscm/lib ]; then
   export PERL5LIB="$PERL5LIB:/opt/clearscm/lib"
 fi
 
+# Lessfile
+if type lessfile > /dev/null 2>&1; then
+  eval $(lessfile)
+fi
+
 # Client specific customizations
 for script in $(\ls ~/.rc/client_scripts); do
   # This is not working as long as ACLs are not supported from the remote
@@ -242,7 +295,13 @@ for script in $(\ls ~/.rc/client_scripts); do
 done
 
 # Set display to local
+
 export DISPLAY=${DISPLAY:-:0}
+# Reset home in case it changed
+HOME=$saved_home
+
+# Odd but Eclipse's Egit can't seem to work with defaria.com unless this is set.
+export GIT_SSH=/usr/bin/ssh
 
 # Now go home (in case we were not autmatically cd'ed there)
 if [ $(id -u) -ne 0 ]; then