# Main bash configuration file.
+#
+# Is sourced by all interactive shells and other shells like scp or rcp.
-# Get the current hostname (first part before a dot).
-host=$(echo $(hostname) | sed -e 's/\..*$//')
-
-# Load environmental related settings used by all shells.
-if [ -f ~/.shell/env ]; then
- . ~/.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
+. ~/.shell/functions
+
+source_debug ". ~/.bash/rc"
+
+source_config ~/.shell/env
-source_debug "sourcing ~/.bash/rc"
-# Load global env file for current hostname (first part before a dot) or
-# global env.local.
-source_config ~/.shell "" env $host
+# Check if this is an interactive shell. Abort if not to prevent problems with
+# scp and rcp. Taken from default Debian bashrc. Thanks.
+if [[ $- != *i* ]]; then
+ return
+fi
# Set the prompt; hostname and current working directory are displayed.
set -o vi
-# Load rc file for current hostname (first part before a dot) or rc.local.
-source_config ~/.bash host rc $host
+source_config ~/.shell/aliases
+
+source_config ~/.bash/rc.local
+
+source_debug ". ~/.bash/rc (done)"
-source_debug "finished sourcing ~/.bash/env"
+# vim: ft=sh