allow extra files for settings
authorJoerg Jaspert <joerg@ganneff.de>
Thu, 21 Mar 2013 14:11:31 +0000 (15:11 +0100)
committerJoerg Jaspert <joerg@ganneff.de>
Thu, 21 Mar 2013 14:11:31 +0000 (15:11 +0100)
There is $ZDOTDIR/zshenv.local now, which can take all kinds of settings
one wants that the default config does not give. Example of it is
zshenv.local.sample, copy over whatever you want.

Note that the zshenv.local file can not depend on any settings done later
in the config! For that see below.
That also means, if you for example, setup prompt colors there, ensure to
place the variables into '' so they are not expanded on config read, but
later!

For settings that depend on the zsh config to be loaded, use the file
$ZDOTDIR/.zshlate (only loaded in interactive shells) or the zsh standard
file $ZDOTDIR/.zlogin (only loaded in login shells)

.zsh/.zshrc
.zsh/00_Basics.zsh
.zsh/zshenv
.zsh/zshenv.local.sample [new file with mode: 0644]

index 6806dda..91b6281 100644 (file)
@@ -77,3 +77,5 @@ if [ ! -z "$SUDO_USER" ]; then
     export HOME=~$USER
     [ "`pwd`" = ~$SUDO_USER ] && cd
 fi
+
+[[ -f ${ZDOTDIR}/.zshlate ]] && source ${ZDOTDIR}/.zshlate
index f7de3e9..d17aa7a 100644 (file)
@@ -3,7 +3,10 @@
 # No core dumps
 ulimit -c 0
 
-umask 022
+local _umask
+zstyle -s ':ganneff:config' umask _umask
+_umask=${_umask:-022}
+umask $_umask
 
 # Want a halfway sane terminal
 [[ -t 0 ]] && /bin/stty erase  "^H" intr  "^C" susp "^Z" dsusp "^Y" stop "^S" start "^Q" kill "^U"  >& /dev/null
index 2253e06..0ea2ab3 100644 (file)
@@ -16,8 +16,11 @@ HOST=$HOST:r:r
 HOST=${HOST:-$(hostname -s)}
 DOMAIN=${DOMAIN:-$(hostname -d 2>&-)}
 [ "$DOMAIN" = "" -o "$DOMAIN" = "localdomain" -o "$DOMAIN" = "(none)" ] && DOMAIN=$(grep "^search " /etc/resolv.conf | cut -d' ' -f2)
+[[ -f /etc/debian_version ]] && DISTRI="Debian"
 
-[ -f /etc/debian_version ] && DISTRI="Debian"
+# Local settings and styles can go here and (usually) overwrite
+# things defined by me later.
+[[ -f ${ZDOTDIR}/zshenv.local ]] && source ${ZDOTDIR}/zshenv.local
 
 DEBUG=${DEBUG:-no}
 
diff --git a/.zsh/zshenv.local.sample b/.zsh/zshenv.local.sample
new file mode 100644 (file)
index 0000000..5eecb41
--- /dev/null
@@ -0,0 +1,17 @@
+# -*- mode: sh;-*-
+
+# This file contains settings local to the system.
+# Note that this is read very early, so you can not depend on anything
+# that is set in the zsh config. If you want that, use the file
+# ${ZDOTDIR}/zshlate or $ZDOTDIR/zlogin. zlogin is read whenever the
+# shell is a login shell, zshlate is used on all interactive shells.
+
+# Output some more information during zshell startup
+DEBUG=${DEBUG:-no}
+
+
+# The following styles are defined.
+# Values shown are the defaults taken if the style is unset
+
+# Set a sane umask
+# zstyle ':ganneff:config' umask '022'