-# Load environmental related settings used by all shells.
-if [[ -f ~/.shell/env ]]; then
- source ~/.shell/env
-else
- function source_config() {
- echo "Couldn't load source_config(), can't source files." >&2
- }
+. ~/.shell/functions
+
+source_debug ". ~/.zsh/env"
+
+source_config ~/.shell/env
+
+
+# Make sure elements in PATH are unique.
+typeset -U path PATH
+
+# Color man pages viewed with less, thanks to
+# http://nion.modprobe.de/blog/archives/572-less-colors-for-man-pages.html
+#
+# Color bold strings in bold blue.
+export LESS_TERMCAP_md=$'\e[01;34m'
+export LESS_TERMCAP_me=$'\e[0m'
+# Color underlined strings in bold yellow and underlined.
+export LESS_TERMCAP_us=$'\e[01;4;33m'
+export LESS_TERMCAP_ue=$'\e[0m'
+# Color standout mode in bold black with yellow background.
+export LESS_TERMCAP_so=$'\e[01;30;43m'
+export LESS_TERMCAP_se=$'\e[0m'
+
+
+# Setup lesspipe to view multiple file-types (like .gz, .zip, etc.) with less.
+# Useful in combination with the "p" alias. Taken from Debian's default bash
+# files. Thanks.
+if [[ -x /usr/bin/lesspipe ]]; then
+ eval "$(SHELL=/bin/sh lesspipe)" || echo "Broken lesspipe!" >&2