]> arthur.barton.de Git - ax-zsh.git/blob - README.md
README.md: Add "customization" section
[ax-zsh.git] / README.md
1 AX-ZSH: Alex' Modular ZSH Configuration
2 =======================================
3
4 AX-ZSH is a modular configuration system for the Z shell. If provides sane
5 defaults and is extendable by plugins.
6
7
8 Installation
9 ------------
10
11 To install AX-ZSH, either download a source archive or use Git to clone it.
12 Afterwards use the `install.sh` script inside of the source directory to set
13 up the `~/.axzsh` directory.
14
15 When using Git it is best to directly clone the AX-ZSH repository into the
16 `~/.axzsh` directory and call `install.sh` from this location:
17
18   $ git clone git://arthur.barton.de/ax-zsh.git ~/.axzsh
19   $ ~/.axzsh/install.sh
20
21 You can use `cd ~/.axzsh && git pull --ff-only` to upgrade this installation.
22
23 The `install.sh` script creates symbolic links for `~/.zprofile`, `~/.zshrc`,
24 `~/.zlogin`, and `~/.zlogout` (don't worry, already existing files are backed
25 up).
26
27 Then you have to restart your ZSH session.
28
29
30 Configuration
31 -------------
32
33 Plugins are loaded when they are linked into the `$AXZSH/active_plugins/`
34 directory.
35
36 AX-ZSH doesn't use `~/.zshenv` in any way. So you can use this file for your
37 own purposes (for example, to set up some environment variables that AX-ZSH
38 relays on). In addition, AX-ZSH reads the optional files `~/.zprofile.local`,
39 `~/.zshrc.local`, `~/.zlogin.local`, and `~/.zlogout.local` after its own
40 core initialization files when present.
41
42
43 Customization
44 -------------
45
46 Use the `axzshctl` tool to enable, disable, and reset plugins. AXZSH
47 initializes an alias which points to the actual location in `~/.axzsh/bin/`.
48
49 See `axzshctl --help` for details.
50
51 In addition you can set the `AXZSH_PLUGIN_D` variable (and `ZSH_CUSTOM` like
52 "OhMyZsh") to specify additional plugin search directories.
53
54
55 Environment Variables
56 ---------------------
57
58 Expected to be already set:
59
60 * `HOME`
61 * `LOGNAME`
62
63 Validated and/or set up by core plugins:
64
65 * `AXZSH`
66 * `HOST`
67 * `HOSTNAME` (same as HOST, deprecated)
68 * `LOCAL_HOME`
69 * `PS1`
70 * `SHORT_HOST`
71 * `TERM`
72 * `XDG_CACHE_HOME`
73 * `ZSH_CACHE_DIR`