]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - bash/rc
*/rc: Move umask code from zsh/rc to shell/rc.
[config/dotfiles.git] / bash / rc
diff --git a/bash/rc b/bash/rc
index d03d05e2f155142e9eb3958c6d8f92a09e1e6c86..3dfadbbbecff5968a0781b44fb6db1803b31906c 100644 (file)
--- a/bash/rc
+++ b/bash/rc
@@ -1,27 +1,35 @@
 # Main bash configuration file.
+#
+# Is sourced by all interactive bash shells and other shells like scp or rcp.
 
+# Copyright (C) 2011-2013  Simon Ruderich
+#
+# This file is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this file.  If not, see <http://www.gnu.org/licenses/>.
 
-# 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
 
-source_debug "sourcing ~/.bash/rc"
+. ~/.shell/functions
+
+source_debug ". ~/.bash/rc"
 
-# Load global env file for current hostname (first part before a dot) or
-# global env.local.
-source_config ~/.shell "" env $host
+source_config ~/.shell/env
+
+
+# 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.
@@ -32,7 +40,11 @@ PS1='\[\033[01;32m\]\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\] \$ '
 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 ~/.shell/rc
+
+source_config ~/.bash/rc.local
+
+source_debug ". ~/.bash/rc (done)"
 
-source_debug "finished sourcing ~/.bash/env"
+# vim: ft=sh