view .bash_profile @ 32:29dfb30b069c

Added /usr/X11R6/bin to $PATH (Macs store some stuff there, Linux has it mostly empty and therefore harmless to add).
author huston@80426f53-59d1-405d-934b-f07cd76f4a1a
date Wed, 03 Mar 2010 01:49:33 +0000
parents ca6c77fe843b
children f59f847377d7
line wrap: on
line source

# $Id$
#
# This file is sourced for interactive login shells, or
# non-interactive shells with the --login option.  So things which you
# want to happen only on login shells should go here.

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

# User specific environment and startup programs

# BASH_ENV is sourced for non-interactive shells; however, since we
# source ~/.bashrc above I don't think we have to here also.
# export BASH_ENV=$HOME/.bashrc

# These lines are helpful if you routinely might login without passing an
# ssh-agent's authentication through.  This way when you login, an agent is
# exec'd for you (the corresponding lines in .bash_logout should kill the
# agent when you logout, however they sometimes fail such as when killing your
# shell without a proper logout or closing the connection).  I left it here,
# though I personally don't use/need it anymore.

#if [ "X$SSH_AUTH_SOCK" = "X" ] ; then
#  eval `/usr/bin/ssh-agent`
#fi

# This part is quite useful if you have your dotfiles stored in subversion
# (though it could be edited fairly easily for any other version control
# system I'm sure).  We check the timestamp of the file '$HOME/.dotfilets'.
# If it's older than a month, run a 'svn st -u' and touch it; this way we
# check once per month to see if we forgot to pull down an updated version.

# First set $STAT and $DATE since the syntax of the commands is different
# between Linux and Mac OS X.  If this is run elsewhere, the eval will be
# false and the test not done below, so it's safe to not bother checking for
# zero-length variables on the test - it just won't run the svn status, so you
# won't be prompted if there's newer files available in your repository.

case `uname` in
  Darwin)
    DFSTAT="stat -f %m -t %s $HOME/.dotfilets"
    MDATE="date -v -1m +%s"
    TDSTAT="stat -f %m -t %s $HOME/.todo"
    HDATE="date -v -1h +%s"
    ;;

  Linux)
    DFSTAT="stat -c %Y $HOME/.dotfilets"
    MDATE="date -d \"1 month ago\" +%s"
    TDSTAT="stat -c %Y $HOME/.todo"
    HDATE="date -d \"1 hour ago\" +%s"
    ;;
esac

[[ ! -f $HOME/.dotfilets || \
  `eval $DFSTAT` -lt `eval $MDATE` ]] && {
  echo -n Dotfiles last checked over a month ago

  # Here we switch for hosts we don't want to check, just warn
  case `hostname -s` in
    bt)
      echo
      touch $HOME/.dotfilets
      ;;

    *)
      echo , running a status test.
      svn st -u && touch $HOME/.dotfilets &
  esac
}

# Work in progress - toodledo to ~/.todo
#[[ -f $HOME/.todo ]] && cat $HOME/.todo
#
#case `hostname -s` in
#  xanadu|rapture)
#    TOODLEDO_CMD="hotlist"
#    ;;

#  milton)
#    TOODLEDO_CMD="tasks *Personal"
#    ;;
#esac
#
#[[ ! -f $HOME/.todo || \
#  `eval $TDSTAT` -lt `eval $HDATE` ]] && {
#  echo "To-do list as of `date`" > $HOME/.todo
#  echo "---------------------------------------------" >> $HOME/.todo
#  toodledo tasks >> $HOME/.todo &
#}