]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - zsh/env
Improve source_debug() output.
[config/dotfiles.git] / zsh / env
diff --git a/zsh/env b/zsh/env
index a3cb729747263e3380c6dc0fce4deac6ed8da7da..aaeb4939d174f5b57d15b8b28e5b4e6b67a5b58b 100644 (file)
--- a/zsh/env
+++ b/zsh/env
@@ -5,23 +5,32 @@
 host=${$(hostname)//.*/}
 
 # Load environmental related settings used by all shells.
-# If the default file exists, load it.
 if [[ -f ~/.shell/env ]]; then
-    source ~/.shell/env
-fi
-# If an env file for the current hostname (first part before a dot) exists load
-# it, otherwise load env.local if available.
-if [[ -f ~/.shell/env.$host ]]; then
-    source ~/.shell/env.$host
-elif [[ -f ~/.shell/env.local ]]; then
-    source ~/.shell/env.local
+    . ~/.shell/env
+# Fallback functions as ~/.shell/env couldn't be loaded.
+else
+    function source_debug() {
+        echo $@
+    }
+    function source_config() {
+        echo "Couldn't load source_config(), can't source files." >&2
+    }
 fi
 
+source_debug ". ~/.zsh/env"
 
-# If an env file for the current hostname (first part before a dot) exists load
-# it, otherwise load env.local if available.
-if [[ -f ~/.zsh/env.$host ]]; then;
-    source ~/.zsh/env.$host
-elif [[ -f ~/.zsh/env.local ]]; then;
-    source ~/.zsh/env.local
-fi
+
+# Make sure elements in PATH are unique.
+typeset -U path PATH
+
+
+# Load global env file for current hostname (first part before a dot) or
+# global env.local.
+source_config ~/.shell "" env $host
+
+# Load env file for current hostname (first part before a dot) or env.local.
+source_config ~/.zsh host env $host
+
+source_debug ". ~/.zsh/env (done)"
+
+# vim: ft=zsh