chiark / gitweb /
dot/bash_profile: Sensible default behaviour for `~/.mdw.conf' lookups.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 15 Apr 2016 13:16:38 +0000 (14:16 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 15 Apr 2016 13:16:38 +0000 (14:16 +0100)
  * For setting environment variables, don't bother if there's no
    configuration entry.  For NNTPSERVER, this now means that
    `.mdw.conf' overrides the system setting rather than the other way
    around, which I think is the right answer.

  * Locale things default to POSIX, just in case.

dot/bash_profile

index b557bc055be0cb4312ebdd6008bb04d85e19d94b..2a47c68b62f41d9037fbabf5e97cf37510914177 100644 (file)
@@ -93,6 +93,12 @@ __mdw_addto PYTHONPATH r $HOME/lib/python
 ###--------------------------------------------------------------------------
 ### Various other kinds of configuration.
 
+__mdw_setconf () {
+  if val=$(mdw-conf 2>/dev/null "$2"); then
+    eval "export $1=\$val"
+  fi
+}
+
 ## Establish a temporary directory.
 [ "$TMPDIR" ] || eval `tmpdir -b`
 export TMP=$TMPDIR
@@ -101,9 +107,9 @@ export TMP=$TMPDIR
 umask 002
 
 ## Mail and general identification.
-export MAIL=`mdw-conf mailbox`
+__mdw_setconf MAIL mailbox
 export NAME="Mark Wooding"
-export EMAIL=`mdw-conf email`
+__mdw_setconf EMAIL email
 export QMAILINJECT=c
 
 ## Some programs want to know the hostname.
@@ -131,9 +137,9 @@ export EDITOR=mdw-editor VISUAL=mdw-editor
 ## Determine the locale settings.  Really don't set LC_COLLATE because it
 ## messes with the order of files in `ls' listings and similar.
 if [ "$DISPLAY" != "" ]; then
-  LANG=`mdw-conf x-ctype`
+  LANG=`mdw-conf x-ctype POSIX`
 else
-  : ${LANG=${LC_CTYPE-${LC_ALL-`mdw-conf console-ctype`}}}
+  : ${LANG=${LC_CTYPE-${LC_ALL-`mdw-conf console-ctype POSIX`}}}
   case "$TERM,`tty`" in
     linux,/dev/tty*)
       if { vt-is-UTF8 ||
@@ -199,7 +205,7 @@ unset browsers
 
 ## Acquiring root privileges.  This is mainly the job of `bashrc', but we
 ## cache the mechanism here.
-export __MDW_ROOTLY=`mdw-conf rootly`
+__mdw_setconf __MDW_ROOTLY rootly
 export BECOME="--preserve-environment"
 
 ## It's useful to see the little sigils in `ls'.
@@ -210,12 +216,12 @@ export BASCAT="-l +n"
 
 ## Version control hacking.
 export CVS_RSH=ssh
-export CVSROOT=`mdw-conf cvs-root`
-export SVNROOT=`mdw-conf svn-root`
+__mdw_setconf CVSROOT cvs-root
+__mdw_setconf SVNROOT svn-root
 export P4CONFIG=.p4
 
 ## News server.
-[ -z "$NNTPSERVER" ] && export NNTPSERVER=`mdw-conf nntp-server`
+__mdw_setconf NNTPSERVER nntp-server
 
 ## Help X programs find their resources.
 export XUSERFILESEARCHPATH="$HOME/.Xapps/%N:/usr/lib/X11/%T/%N%S"