zsh/README.md
Alexander Gehrke (crater2150) 85d12d69b4 fix readme formatting
2013-03-18 13:33:58 +01:00

49 lines
2 KiB
Markdown

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`.