add local customization folder (default ~/.zsh) concept

This commit is contained in:
Dane O'Connor 2012-01-17 20:51:08 -05:00
commit d398b1c847

View file

@ -13,13 +13,19 @@ fpath=($ZSH/functions $ZSH/completions $fpath)
# TIP: Add files you don't want in git to .gitignore # TIP: Add files you don't want in git to .gitignore
for config_file ($ZSH/lib/*.zsh) source $config_file for config_file ($ZSH/lib/*.zsh) source $config_file
# Set ZSH_LOCAL_CUSTOM path where your custom config files
# and plugins exists, or else we will use the default ~/.zsh/
if [[ -z "$ZSH_LOCAL" ]]; then
ZSH_LOCAL="$HOME/.zsh/"
fi
# Set ZSH_CUSTOM to the path where your custom config files # Set ZSH_CUSTOM to the path where your custom config files
# and plugins exists, or else we will use the default custom/ # and plugins exists, or else we will use the default custom/
if [[ -z "$ZSH_CUSTOM" ]]; then if [[ -z "$ZSH_CUSTOM" ]]; then
ZSH_CUSTOM="$ZSH/custom" ZSH_CUSTOM="$ZSH/custom"
fi fi
is_plugin() { is_plugin() {
local base_dir=$1 local base_dir=$1
local name=$2 local name=$2
@ -29,7 +35,9 @@ is_plugin() {
# Add all defined plugins to fpath. This must be done # Add all defined plugins to fpath. This must be done
# before running compinit. # before running compinit.
for plugin ($plugins); do for plugin ($plugins); do
if is_plugin $ZSH_CUSTOM $plugin; then if is_plugin $ZSH_LOCAL $plugin; then
fpath=($ZSH_LOCAL/plugins/$plugin $fpath)
elif is_plugin $ZSH_CUSTOM $plugin; then
fpath=($ZSH_CUSTOM/plugins/$plugin $fpath) fpath=($ZSH_CUSTOM/plugins/$plugin $fpath)
elif is_plugin $ZSH $plugin; then elif is_plugin $ZSH $plugin; then
fpath=($ZSH/plugins/$plugin $fpath) fpath=($ZSH/plugins/$plugin $fpath)
@ -43,7 +51,9 @@ compinit -i
# Load all of the plugins that were defined in ~/.zshrc # Load all of the plugins that were defined in ~/.zshrc
for plugin ($plugins); do for plugin ($plugins); do
if [ -f $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh ]; then if [ -f $ZSH_LOCAL/plugins/$plugin/$plugin.plugin.zsh ]; then
source $ZSH_LOCAL/plugins/$plugin/$plugin.plugin.zsh
elif [ -f $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh ]; then
source $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh source $ZSH_CUSTOM/plugins/$plugin/$plugin.plugin.zsh
elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
source $ZSH/plugins/$plugin/$plugin.plugin.zsh source $ZSH/plugins/$plugin/$plugin.plugin.zsh
@ -52,6 +62,8 @@ done
# Load all of your custom configurations from custom/ # Load all of your custom configurations from custom/
for config_file ($ZSH_CUSTOM/*.zsh) source $config_file for config_file ($ZSH_CUSTOM/*.zsh) source $config_file
# Load all of your custom configurations from local
for config_file ($ZSH_LOCAL/*.zsh) source $config_file
# Load the theme # Load the theme
if [ "$ZSH_THEME" = "random" ] if [ "$ZSH_THEME" = "random" ]
@ -65,9 +77,10 @@ then
else else
if [ ! "$ZSH_THEME" = "" ] if [ ! "$ZSH_THEME" = "" ]
then then
if [ -f "$ZSH/custom/$ZSH_THEME.zsh-theme" ] if [ -f "$ZSH_LOCAL/$ZSH_THEME.zsh-theme" ]; then
then source "$ZSH_LOCAL/$ZSH_THEME.zsh-theme"
source "$ZSH/custom/$ZSH_THEME.zsh-theme" elif [ -f "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme" ]; then
source "$ZSH_CUSTOM/$ZSH_THEME.zsh-theme"
else else
source "$ZSH/themes/$ZSH_THEME.zsh-theme" source "$ZSH/themes/$ZSH_THEME.zsh-theme"
fi fi