Major cleanup and restructuring
- remove custom module loader, use zplug for own plugins - move config parts from modules to files - move other module parts to separate zsh plugins
This commit is contained in:
parent
98a86e6b70
commit
d0598c2838
21 changed files with 38 additions and 774 deletions
48
README.md
48
README.md
|
@ -4,45 +4,9 @@ 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`.
|
||||
From the checked out repo:
|
||||
```
|
||||
ln -s $PWD/zshenv $HOME/.zshenv
|
||||
```
|
||||
The zshenv file sets the location to the rest of the config (`$ZDOTDIR`)
|
||||
automatically, based on the link target.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue