]> arthur.barton.de Git - ax-zsh.git/blobdiff - README.md
axzshctl: Streamline messages on "enable-plugin"
[ax-zsh.git] / README.md
index 8375e58a7c68bb56703c5d846b6bc918edb4ec54..3ddbd0cb9287f4bae4d42f278a3b7e5943c8a11c 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,33 +1,69 @@
 AX-ZSH: Alex' Modular ZSH Configuration
 =======================================
 
-AX-ZSH is a modular configuration system for the Z shell. If provides sane
-defaults and is extendable by plugins.
-
+AX-ZSH is a modular configuration system for the Z shell (ZSH).
+It provides sane defaults and is extendable by plugins.
 
 Installation
 ------------
 
-To install AX-ZSH, call the `install.sh` script inside of the source directory.
-This script creates the `~/.axzsh` symbolic link to the source directory and
-creates links for `~/.zprofile`, `~/.zshrc`, `~/.zlogin`, and `~/.zlogout`
-(don't worry, already existing files are backed up).
+To install AX-ZSH, either download a source archive or use Git to clone it.
+Afterwards use the `install.sh` script inside of the source directory to set
+up the `~/.axzsh` directory.
 
-Then you have to restart your ZSH session.
+When using Git it is best to directly clone the AX-ZSH repository into the
+`~/.axzsh` directory and call `install.sh` from this location.
 
+Clone repository from _GitHub_ (<https://github.com/alexbarton/ax-zsh>):
 
-Configuration
--------------
+    git clone https://github.com/alexbarton/ax-zsh.git ~/.axzsh
+
+Then run the installer script:
+
+    ~/.axzsh/install.sh
+
+The `install.sh` script creates symbolic links for `~/.zprofile`, `~/.zshrc`,
+`~/.zlogin`, and `~/.zlogout` (don't worry, already existing files are backed
+up).
+
+Now close and restart all your running ZSH session to activate AX-ZSH.
+
+To update AX-ZSH run `axzshctl upgrade`.
+
+AX-ZSH & Local ZSH Configuration
+--------------------------------
 
 Plugins are loaded when they are linked into the `$AXZSH/active_plugins/`
-directory.
+directory; see the _Customization_ section below for how to activate them.
+
+Don't modify `~/.zprofile`, `~/.zshrc`, `~/.zlogin`, or `~/.zlogout`! These
+are links to "AX-ZSH"-private files that can become overwritten when updating.
+
+You can use the following files for local ZSH configuration:
+
+1. AX-ZSH doesn't use `~/.zshenv` in any way. So you can use this file for your
+   own purposes (for example, to set up some environment variables that AX-ZSH
+   relies on).
+
+2. AX-ZSH reads the optional files `~/.zprofile.local`, `~/.zshrc.local`,
+   `~/.zlogin.local`, and `~/.zlogout.local` after its own core initialization
+   files when present.
+
+Customization
+-------------
+
+Use the `axzshctl` tool to enable, disable, and reset plugins. AXZSH
+initializes an alias which points to the actual location in `~/.axzsh/bin/`.
+
+See `axzshctl --help` for details.
 
-AX-ZSH doesn't use `~/.zshenv` in any way. So you can use this file for your
-own purposes (for example, to set up some environment variables that AX-ZSH
-relays on). In addition, AX-ZSH reads the optional files `~/.zprofile.local`,
-`~/.zshrc.local`, `~/.zlogin.local`, and `~/.zlogout.local` after its own
-core initialization files when present.
+You can link custom plugins stored in arbitrary directories using `axzshctl`
+by specifying the complete path name. Or you can place additional plugins into
+the `~/.axzsh/custom_plugins` folder which is searched by the `axzshctl` tool
+by default.
 
+In addition you can set the `AXZSH_PLUGIN_D` variable (and `ZSH_CUSTOM` like
+"OhMyZsh") to specify additional plugin search directories.
 
 Environment Variables
 ---------------------
@@ -46,5 +82,6 @@ Validated and/or set up by core plugins:
 * `PS1`
 * `SHORT_HOST`
 * `TERM`
+* `XDG_RUNTIME_DIR`
 * `XDG_CACHE_HOME`
 * `ZSH_CACHE_DIR`