README file (and some fixes)
This commit is contained in:
parent
6023ed42bf
commit
1375ee2f3c
48
README.md
Normal file
48
README.md
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
crater's zsh config
|
||||||
|
===================
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
-------------
|
||||||
|
|
||||||
|
*system-wide config*: Put repository contents in `/etc/zsh`.
|
||||||
|
|
||||||
|
*user config*: copy `env_template` to $HOME/.zshenv. Change value of `$ZDOTDIR` in
|
||||||
|
that file to the path, where the repository resides.
|
||||||
|
Note that this file is read before any other config files, so if any variables
|
||||||
|
you set in there have wrong values, they are probably overwritten in another
|
||||||
|
file.
|
||||||
|
|
||||||
|
modules:
|
||||||
|
--------
|
||||||
|
|
||||||
|
This zsh configuration is modular. A module consists of a folder in the modules/
|
||||||
|
directory, containing a script file named `init` and an optional `depend` file.
|
||||||
|
More files may be included in the folder, they will be ignored by the module
|
||||||
|
loader. The name of the module is the name of its directory.
|
||||||
|
|
||||||
|
The `init` file is executed, when a module is loaded. When and if a module is
|
||||||
|
loaded is determined by its `depend` file and the environment variables
|
||||||
|
`$ZMODLOAD_ONLY` and `$ZMODLOAD_BLACKLIST`.
|
||||||
|
|
||||||
|
`$ZMODLOAD_BLACKLIST` is a list of modules, that will not be loaded.
|
||||||
|
|
||||||
|
`$ZMODLOAD_ONLY` works as a whitelist. If it is set, only modules in this list
|
||||||
|
and modules required by them will be loaded.
|
||||||
|
|
||||||
|
A `depend` file contains the requirements for loading a module. It should
|
||||||
|
contain lines of the form `<type> <module>`. There are 3 types for
|
||||||
|
dependencies:
|
||||||
|
|
||||||
|
- `depend <module>`: `<module>` will be loaded before the depending
|
||||||
|
module (the module whose `depend` file contains this rule), regardless
|
||||||
|
of `$ZMODLOAD_ONLY`. If the module is blacklisted, it and the depending
|
||||||
|
module are not loaded. Note that already queued dependencies of the depending
|
||||||
|
module will be loaded anyways.
|
||||||
|
|
||||||
|
- `after <module>`: `<module>` will be loaded before the depending
|
||||||
|
module, if it would be loaded anyways. If it is either blacklisted or
|
||||||
|
`$ZMODLOAD_ONLY` is non-empty but does not contain `<module>`, it is not
|
||||||
|
loaded. This does not affect loading of the depending module.
|
||||||
|
|
||||||
|
- `block <module>`: abort loading of the depending module, if `<module>`
|
||||||
|
is already loaded or contained in `$ZMODLOAD_ONLY`.
|
|
@ -1,7 +1,5 @@
|
||||||
export ZDOTDIR="$HOME/.zsh"
|
export ZDOTDIR="$HOME/.zsh"
|
||||||
PROMPT_UNICODE=yes
|
PROMPT_UNICODE=yes
|
||||||
LANG=en_US.UTF-8
|
|
||||||
export LANG
|
|
||||||
zcpath="$ZDOTDIR"
|
zcpath="$ZDOTDIR"
|
||||||
|
|
||||||
# on foreign server I don't want to accidentaly alarm admins
|
# on foreign server I don't want to accidentaly alarm admins
|
||||||
|
|
|
@ -76,6 +76,7 @@ mod_deps() {
|
||||||
|
|
||||||
while read relation dep; do
|
while read relation dep; do
|
||||||
mod_check_dep $modpath $relation $dep
|
mod_check_dep $modpath $relation $dep
|
||||||
|
[ $? -gt 0 ] && return $?;
|
||||||
done < "$modpath/depend"
|
done < "$modpath/depend"
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -103,8 +104,9 @@ mod_check_dep() {
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"after")
|
"after")
|
||||||
if [ -z "$ZMODLOAD_ONLY" ] \
|
if ([ -z "$ZMODLOAD_ONLY" ] \
|
||||||
|| in_array "$dep" "${(@)ZMODLOAD_ONLY}"; then
|
|| in_array "$dep" "${(@)ZMODLOAD_ONLY}")
|
||||||
|
&& ! in_array "$dep" "${(@)ZMODLOAD_BLACKLIST}"; then
|
||||||
mod_queue "$dep" is_dep ${modpath};
|
mod_queue "$dep" is_dep ${modpath};
|
||||||
fi ;;
|
fi ;;
|
||||||
"block")
|
"block")
|
||||||
|
|
8
zprofile
8
zprofile
|
@ -3,6 +3,10 @@ if [ -e /etc/profile.env ] ; then
|
||||||
. /etc/profile.env
|
. /etc/profile.env
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
for sh in /etc/profile.d/*.sh ; do
|
||||||
|
[ -r "$sh" ] && . "$sh"
|
||||||
|
done
|
||||||
|
|
||||||
if [ -e "$HOME/.profile" ]; then
|
if [ -e "$HOME/.profile" ]; then
|
||||||
. "$HOME/.profile"
|
. "$HOME/.profile"
|
||||||
fi
|
fi
|
||||||
|
@ -24,10 +28,6 @@ unset ROOTPATH
|
||||||
shopts=$-
|
shopts=$-
|
||||||
setopt nullglob
|
setopt nullglob
|
||||||
|
|
||||||
#more gentoo specific stuff
|
|
||||||
for sh in /etc/profile.d/*.sh ; do
|
|
||||||
[ -r "$sh" ] && . "$sh"
|
|
||||||
done
|
|
||||||
|
|
||||||
unsetopt nullglob
|
unsetopt nullglob
|
||||||
set -$shopts
|
set -$shopts
|
||||||
|
|
Loading…
Reference in a new issue