## zgen A lightweight plugin manager for Zsh inspired by [Antigen](https://github.com/zsh-users/antigen). Keep your `.zshrc` clean and simple. Zgen provides you few simple commands for managing plugins. It installs your plugins and generates a static init script that will source them for you every time you run the shell. We do this to save some startup time by not having to execute time consuming logic (plugin checking, updates, etc). This means that you have to manually check for updates (`zgen update`) and reset the init script (`zgen reset`) whenever you add or remove plugins. The motive for creating zgen was to have plugins quickly installed on a new machine without getting the startup lag that Antigen used to give me. ## Installation Clone the zgen repository git clone https://github.com/tarjoilija/zgen.git "${HOME}/.zgen" Edit your .zshrc file to load zgen # load zgen source "${HOME}/.zgen/zgen.zsh" Place the following code after the one above to load oh-my-zsh for example, see Usage for more details # if the init scipt doesn't exist if ! zgen saved; then # specify plugins here zgen oh-my-zsh # generate the init script from plugins above zgen save fi ## Usage ### oh-my-zsh This is a handy shortcut for installing oh-my-zsh plugins. They can be loaded using `zgen load` too with a significantly longer format. #### Load oh-my-zsh base It's a good idea to load the base components before specifying any plugins. zgen oh-my-zsh #### Load oh-my-zsh plugins zgen oh-my-zsh #### Example zgen oh-my-zsh zgen oh-my-zsh plugins/git zgen oh-my-zsh plugins/sudo zgen oh-my-zsh plugins/command-not-found zgen oh-my-zsh themes/arrow ### Prezto #### Load Prezto zgen prezto This will create a symlink in the `ZSHDOT` or `HOME` directory. This is needed by prezto. #### Load prezto plugins zgen prezto This uses the Prezto method for loading modules. #### Load a repo as Prezto plugins zgen pmodule This uses the Prezto method for loading the module. It creates a symlink and calls `pmodule`. #### Set prezto options zgen prezto