awesome-zsh-plugins

Awesome

Status

License Build Status Join the chat at https://gitter.im/unixorn/awesome-zsh-plugins GitHub stars Code Climate Issue Count

A collection of ZSH frameworks, plugins, tutorials & themes inspired by the various awesome list collections out there.

Table of Contents

Please read the Contributing Guidelines before contributing.

Frameworks

These frameworks make customizing your ZSH setup easier.

alf

Alf is an out of this world super fast and configurable framework for ZSH; it's modeled after Prezto and Antigen while utilizing Oh-My-Zsh under the covers; and offers standard defaults, aliases, functions, auto completion, automated updates and installable prompt themes and plugins.

ansible-role-zsh

ansible-role-zsh is an ansible role with zero-knowledge installation. It uses antigen to manage bundles and oh-my-zsh. Can load bundles conditionally. By default it includes powerlevel9k theme, autosuggestions, syntax-highlighting and fzf-widgets. Fully customizable.

ant-zsh

Ant-zsh is a tiny and lightweight ZSH configuration environment for special customization needs. It includes plugins, themes and a basic convenient setup.

antibody

Antibody A faster and simpler antigen written in Golang. More details at http://getantibody.github.io/.

antigen-hs

antigen-hs is a replacement for antigen optimized for a low overhead when starting up the shell. It will automatically clone plugins for you.

antigen

Antigen is a small set of functions that help you easily manage your shell (ZSH) plugins, called bundles. The concept is pretty much the same as bundles in a typical vim+pathogen setup. Antigen is to ZSH, what Vundle is to vim. Antigen can load oh-my-zsh themes and plugins and will automatically clone them for you.

ax-zsh

Ax-ZSH is a modular configuration system for ZSH. It provides sane defaults and is extendable by plugins.

dotzsh

Dotzsh strives to be platform and version independent. Some functionality may be lost when running under older versions of ZSH, but it should degrade cleanly and allow you to use the same setup on multiple machines of differing OSes without problems.

fresh

fresh is a tool to source shell configuration (aliases, functions, etc) from others into your own configuration files. We also support files such as ackrc and gitconfig. Think of it as Bundler for your dot files.

oh-my-zsh

oh-my-zsh is a community-driven framework for managing your ZSH configuration. Includes 120+ optional plugins (rails, git, macOS, hub, capistrano, brew, ant, macports, etc), over 120 themes to spice up your morning, and an auto-update tool that makes it easy to keep up with the latest updates from the community.

prezto

Prezto enriches the ZSH command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes.

pumice

Pumice is a lightweight plugin manager for ZSH.

Toasty

Toasty is a ZSH framework made to facilitate management, not dictate it.

zeesh

Zeesh is a cross-platform ZSH framework. It's similar to, but incompatible with, oh-my-zsh. It has a modular plugin architecture making it easy to extend. It has a rich set of defaults, but is designed to be as lightweight as possible.

zgem

Zgem is a plugin manager for ZSH that supports loading and updating plugins and themes from git, http and local files.

zgen

Zgen is a lightweight plugin manager for ZSH inspired by Antigen. The goal is to have a minimal overhead when starting up the shell because nobody likes waiting. The script generates a static init.zsh file which does nothing but source your plugins and append them to your fpath. This saves startup time by not having to execute time consuming logic (plugin checking, updates, etc). The downside is that you have to refresh the init script manually with zgen reset whenever you update your .zshrc. Can load oh-my-zsh-compatible plugins and themes, and will automagically clone them for you when you add them to your plugin list.

zilsh

zilsh is a ZSH config system that aims to appeal more to power-users and follow the simplistic approach of vim-pathogen.

zim

Zim is a ZSH configuration framework with blazing speed and modular extensions.

zit

zit is a plugin manager for ZSH. It is minimal because it implements the bare minimum to be qualified as a plugin manager: it allows the user to install plugins from Git repositories (and Git repositories only, them why the name), source plugins and update them. It does not implement fancy functions like cleanup of removed plugins, automatic compilation of installed plugins, alias for oh-my-zsh/prezto/other ZSH frameworks, building binaries, PATH manipulation and others.

zoppo

Zoppo is the crippled configuration framework for ZSH. As an Italian saying goes: "chi va con lo zoppo, impara a zoppicare", we realized we were walking with a cripple and are now going to become crippled ourselves.

zpacker

Zpacker is a lightweight ZSH plugin & theme management framework.

zplug

:hibiscus: Zplug is a next-generation ZSH plugin manager.

zplugin

Zplugin is an innovative plugin manager with semigraphical UI, Turbo Mode, a clean fpath, reports, completion management and services support.

ZPM

ZPM ( ZSH Plugin Manager ) is a plugin manager for ZSH similar to vim-plug. ZPM plugins are compatible with oh-my-zsh. ZPM runs on Linux, macOS, FreeBSD and Android.

ZR

ZR is a quick, simple ZSH plugin manager written in Rust and easily installable with cargo install zr.

zshing

zshing is a ZSH plugin manager similar to Vundle/Vim and allows you to...

ztanesh

Ztanesh aims to improve your UNIX command line experience and productivity with the the configuration provided by the ztanesh project: the tools will make your shell more powerful and easier to use.

zulu

Zulu is a environment manager for ZSH 5+, which aims to make it easy to manage your shell without writing any code.

Tutorials

Generic ZSH

Antigen

Oh-My-Zsh

Prezto

Zgen

Plugins

Even more completions

These plugins add tab completions without adding extra functions or aliases.

Themes

If you're using Antigen, you can test these themes in a running ZSH with antigen theme githubuser/repo. If you're using zgen, add them to your init.zsh with zgen load githubuser/reponame.

Fonts

Some of the themes listed here require Powerline-compatible fonts, here are a few:

Installation

Antibody

Most of these plugins can be installed by adding antigen bundle githubuser/reponame to your .zshrc file. Antibody will handle cloning the plugin for you automatically the next time you start zsh. You can also add the plugin to a running ZSH with antigen bundle githubuser/reponame for testing before adding it to your .zshrc.

Antigen

Most of these plugins can be installed by adding antigen bundle githubuser/reponame to your .zshrc file. Antigen will handle cloning the plugin for you automatically the next time you start zsh. You can also add the plugin to a running ZSH with antigen bundle githubuser/reponame for testing before adding it to your .zshrc.

dotzsh

  1. Clone new plugins into .zsh.local/modules
  2. Load the plugin module in .zshrc
  3. Open a new ZSH terminal window or tab

Oh-My-Zsh

  1. cd ~/.oh-my-zsh/custom/plugins
  2. git clone repo
  3. Add the repo to your plugin list

Prezto

  1. Clone the plugin into your prezto modules directory
  2. Add the plugin to your .zpreztorc file
  3. Open a new terminal window or tab

Zgen

Most of these plugins can be installed by adding zgen load githubuser/reponame to your .zshrc file in the same function you're doing your other zgen load calls in. Zgen will automatically clone the repositories for you when you do a zgen save.

zplug

Most of these plugins can be installed by adding zplug "githubuser/reponame" to your .zshrc file.

Writing New Plugins

I've documented some recommendations for writing a new plugin here.

Other Resources

ZSH Tools

Other Useful Lists

Find other useful awesome-* lists at the awesome collection

Other References

The ZSH Reference Card and zsh-lovers site are indispensable.