From 15483177a0e457dfae6a44caed7392ca3762de5c Mon Sep 17 00:00:00 2001 From: Simon Ruderich Date: Sun, 21 Sep 2008 18:06:25 +0200 Subject: [PATCH] Added configuration file for all shells (in ~/.shell). This is then loaded (if available) by bash and zsh to simplify the configuration. Host specific files are supported. --- bash/rc | 21 ++++++++++++++++----- shell/env | 11 +++++++++++ zsh/env | 22 ++++++++++++++-------- 3 files changed, 41 insertions(+), 13 deletions(-) create mode 100644 shell/env diff --git a/bash/rc b/bash/rc index 3874363..eb67288 100644 --- a/bash/rc +++ b/bash/rc @@ -1,18 +1,29 @@ # Main bash configuration file. -# Use UTF-8 encoding in the terminal. -export LC_ALL=en_US.UTF-8 +# Get the current hostname (first part before a dot). +host=$(echo $(hostname) | sed -e 's/\..*$//') + +# 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 +fi + -# Use Vim as editor. -export EDITOR='vim' # Use Vi(m) style in bash. set -o vi # If a rc file for the current hostname (first part before a dot) exists load # it, otherwise load rc.local if available. -host=$(echo $(hostname) | sed -e 's/\..*$//') if [ -f ~/.bash/rc.$host ]; then source ~/.bash/rc.$host elif [ -f ~/.bash/rc.local ]; then diff --git a/shell/env b/shell/env new file mode 100644 index 0000000..944a888 --- /dev/null +++ b/shell/env @@ -0,0 +1,11 @@ +# Configuration file for environment related options for all shells. + + +# Use UTF-8 encoding in the terminal. +export LC_ALL=en_US.UTF-8 + +# Use Vim as editor. +export EDITOR=vim + +# Set less as pager, its configuration is done through the .less file. +export PAGER=less diff --git a/zsh/env b/zsh/env index 37b1467..a3cb729 100644 --- a/zsh/env +++ b/zsh/env @@ -1,19 +1,25 @@ # Zsh configuration file for environment related options. -# Use UTF-8 encoding in the terminal. -export LC_ALL=en_US.UTF-8 - -# Set Vim as my editor. -export EDITOR=vim +# Get the current hostname (first part before a dot). +host=${$(hostname)//.*/} -# Set less as my pager, its configuration is done through the .less file. -export PAGER=less +# 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 +fi # If an env file for the current hostname (first part before a dot) exists load # it, otherwise load env.local if available. -host=${$(hostname)//.*/} if [[ -f ~/.zsh/env.$host ]]; then; source ~/.zsh/env.$host elif [[ -f ~/.zsh/env.local ]]; then; -- 2.45.2