Awesome Lists with GitHub stars

awesome-zsh-plugins

Awesome

Status

License Awesomebot GitHub stars [Contributors GitHub last commit Track Awesome List

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.

Disclaimer

While I have done my best to not add entries with embedded malicious code, I don’t have the time to sift through the source of every entry in the list.

THIS LIST IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Frameworks

These frameworks make customizing your ZSH setup easier.

You can find some interesting performance timing comparisons of various frameworks in the following locations.

alf GitHub Repo Stars GitHub last commit

Alf is an out of this world super fast and configurable framework for ZSH; it’s modeled after Prezto GitHub Repo Stars GitHub last commit and Antigen GitHub Repo Stars GitHub last commit 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 GitHub Repo Stars GitHub last commit

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

ant-zsh GitHub Repo Stars GitHub last commit

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

antibody GitHub Repo Stars GitHub last commit

Antibody is a faster and simpler antigen GitHub Repo Stars GitHub last commit written in Golang. More details are available at http://getantibody.github.io/.

antidote

Antidote is a ZSH plugin manager made from the ground up thinking about performance.

It is fast because it can do things concurrently, and generates an ultra-fast static plugin file that you can include in your ZSH config.

It is written natively in ZSH, is well tested, and picks up where Antibody GitHub Repo Stars GitHub last commit left off.

use-omz GitHub Repo Stars GitHub last commit enables easy use of Oh-My-ZSH GitHub Repo Stars GitHub last commit with antidote.

antigen-hs GitHub Repo Stars GitHub last commit

antigen-hs is a replacement for antigen GitHub Repo Stars GitHub last commit optimized for a low overhead when starting up a zsh session. It will automatically clone plugins for you.

antigen GitHub Repo Stars GitHub last commit

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 GitHub Repo Stars GitHub last commit

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

Ax-ZSH integrates well with Powerlevel10k GitHub Repo Stars GitHub last commit and other extensions, including plugins compatible with oh-my-zsh.

deer GitHub Repo Stars GitHub last commit

A minimalist ZSH plugin manager.

dotzsh GitHub Repo Stars GitHub last commit

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 GitHub Repo Stars GitHub last commit

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.

miniplug

miniplug is a minimalistic plugin manager for ZSH.

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.

PMS GitHub Repo Stars GitHub last commit

PMS allows you to manage your shell in a way to that helps decrease setup time and increases your productivity. It has support for themes (change the way your shell looks), plugins (adds functionality to your shell), and dotfile management.

The PMS framework also allows you to use the same framework in different shells. Use ZSH on your personal laptop, and use bash on remote servers. Wanna try fish? Go ahead, try out different shells.

prezto GitHub Repo Stars GitHub last commit

Prezto enriches the ZSH command line interface environment with sane defaults, aliases, functions, auto completion, and prompt themes. There are some prezto GitHub Repo Stars GitHub last commit-specific plugins at https://github.com/belak/prezto-contrib GitHub Repo Stars GitHub last commit.

pumice GitHub Repo Stars GitHub last commit

Pumice is a lightweight plugin manager for ZSH.

sheldon GitHub Repo Stars GitHub last commit

A fast, configurable, shell plugin manager.

shplug GitHub Repo Stars GitHub last commit

An easy solution for managing your shell environments. Works with both bash and zsh. Makes it easy to sync your environment across multiple machines with a git repository.

Toasty GitHub Repo Stars GitHub last commit

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

uz GitHub Repo Stars GitHub last commit

A ZSH micro plugin manager.

x-cmd GitHub Repo Stars GitHub last commit

x-cmd is a toolset implemented using posix shell and awk.It is very small in size and offers many interesting features. Here is a milestone demo: https://x-cmd.com/

Tools Provided by x-cmd:

yazt GitHub Repo Stars GitHub last commit

Yazt is a simple ZSH theme manager in maintenance that is compatible with nearly everything. You can use prompts in plugins, mix ‘n’ match two themes and with a few modifications, you can even use it in bash.

yzsh GitHub Repo Stars GitHub last commit

yzsh is a simple ZSH framework for managing plugins, themes, functions, aliases and environment variables.

zap GitHub Repo Stars GitHub last commit

zap is a minimal ZSH plugin manager.

zapack GitHub Repo Stars GitHub last commit

zapack is a basic fast minimal ZSH plugin loader.

zcomet GitHub Repo Stars GitHub last commit

zcomet is a minimalistic ZSH plugin manager that gets you to the prompt surprisingly quickly without caching (see the benchmarks). In addition to loading and updating plugins stored in git repositories, it supports lazy-loading plugins (further reducing startup time) as well as downloading and sourcing code snippets.

zeesh GitHub Repo Stars GitHub last commit

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 GitHub Repo Stars GitHub last commit

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

zgen GitHub Repo Stars GitHub last commit

Zgen is a lightweight plugin manager for ZSH inspired by Antigen GitHub Repo Stars GitHub last commit. The goal is to have minimal overhead when starting up the shell because nobody likes waiting.

It is currently not being actively maintained and I recommend you use the zgenom GitHub Repo Stars GitHub last commit fork instead, which is actively maintained and continues to get new features.

zgenom GitHub Repo Stars GitHub last commit

A lightweight plugin manager for ZSH that is a fork that extends the brilliant zgen GitHub Repo Stars GitHub last commit and provides more features and bugfixes while being fully backwards compatible.

To keep loading fast during new terminal sessions, zgenom generates a static init.zsh file which does nothing but source your plugins and append them to your fpath.

This minimizes startup time by not having to execute time consuming logic (plugin checking, updates, etc) during every shell session’s startup. The downside is that you have to refresh the init script manually with zgenom reset whenever you update your plugin list in your .zshrc.

Zgenom can load oh-my-zsh-compatible and prezto GitHub Repo Stars GitHub last commit-compatible plugins and themes, and will automagically git clone plugins for you when you add them to your plugin list.

zilsh GitHub Repo Stars GitHub last commit

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

zim GitHub Repo Stars GitHub last commit

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

Zinit GitHub Repo Stars GitHub last commit

Zinit is an innovative and probably (because of the Turbo) the fastest plugin manager with support for:

The project is very active – currently > 3100 commits.

zinit-4 GitHub Repo Stars GitHub last commit

This is Zinit 4 from the original author, who once removed the Zinit GitHub Repo Stars GitHub last commit repository from GitHub. This spawned a community-driven zdharma-continuum organization that revived all of psprint’s ZSH projects. Its main innovations from the @zdharma-continuum fork are:

These are the most visible changes, but there are more (like e.g.: support for compiling with libraries from previously built projects/$ZPFX).

zit GitHub Repo Stars GitHub last commit

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, that’s 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.

zlugin GitHub Repo Stars GitHub last commit

zlugin is a very lightweight ZSH plugin manager.

znap GitHub Repo Stars GitHub last commit

:zap:Znap is a light-weight plugin manager & git repository manager for ZSH that’s easy to grok. While tailored for ZSH plugins specifically, Znap also functions as a general-purpose utility for managing git repositories.

Znap can:

zoppo GitHub Repo Stars GitHub last commit

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 GitHub Repo Stars GitHub last commit

Zpacker is a lightweight ZSH plugin & theme management framework.

zpico GitHub Repo Stars GitHub last commit

The minuscule ZSH package manager. No frills, no bloat, just 2 kB of 100% ZSH code, providing complete package management for your ZSH environment.

ZSH package managers are abundant, but most are bloated, slow or have excessive requirements. On top of that, more than a few have been abandoned for years. Zpico does not seek to be the best of the best, rather to balance functionality against a tiny, fast footprint.

zplug GitHub Repo Stars GitHub last commit

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

zpm GitHub Repo Stars GitHub last commit

zpm ( ZSH Plugin Manager ) is a plugin manager for ZSH which combines the imperative and declarative approach. At first run, zpm will do complex logic and generate a cache, after that will only use the cache, so it makes this framework very fast.

zr GitHub Repo Stars GitHub last commit

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

zsh.ai

Focuses on security and hardening of local system. Requires fzf GitHub Repo Stars GitHub last commit

zshing GitHub Repo Stars GitHub last commit

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

zsh-dot-plugin GitHub Repo Stars GitHub last commit

Customize your .zshrc with only ~21 lines of code. Based on zsh-unplugged GitHub Repo Stars GitHub last commit.

zsh-mgr GitHub Repo Stars GitHub last commit

A simple plugin manager for zsh. Features:

zshPlug GitHub Repo Stars GitHub last commit

zshPlug is a minimalist plugin manager heavily based on zap GitHub Repo Stars GitHub last commit.

ztanesh GitHub Repo Stars GitHub last commit

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.

ztheme GitHub Repo Stars GitHub last commit

ztheme is a small and fast theme engine for ZSH.

ztupide GitHub Repo Stars GitHub last commit

A simple and fast ZSH plugin manager. It uses zcompile and async loading to speed up your shell startup time.

zulu GitHub Repo Stars GitHub last commit

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

Setups

This section is for full setup dropins - they aren’t frameworks, but they’re not simple plugins/themes either.

zgenom

zinit

Prerequisites

If you’re on a Mac, the zsh that comes with it is usually pretty stale. You can use brew install zsh to update it.

Many of the themes here use special glyphs for things like displaying a branch icon. You’ll need to use a Nerd Font GitHub Repo Stars GitHub last commit or a Powerline-compatible font in your terminal program or you’ll see ugly broken boxes where the symbols should be.

Here are a few good sources for Nerd Fonts and Powerline-compatible fonts:

Tutorials

Generic ZSH

Antigen

Oh-My-Zsh

Prezto

Zgen

Zinit (né zplugin)

ZSH on Windows

superconsole GitHub Repo Stars GitHub last commit - Windows-only

Plugins

Completions

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

Themes

If you’re using Antigen GitHub Repo Stars GitHub last commit, you can test these themes in a running ZSH with antigen theme githubuser/repo. If you’re using zgenom GitHub Repo Stars GitHub last commit, add them to your init.zsh with zgenom load githubuser/reponame.

Fonts

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

Installation

I recommend zgenom GitHub Repo Stars GitHub last commit if you don’t already have a preferred ZSH framework. It adds minimal overhead during shell session startup because it generates a load script only when you change your plugin list, and that load script is sourced during startup instead of being recalculated every time.

Antigen GitHub Repo Stars GitHub last commit

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 GitHub Repo Stars GitHub last commit

  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 GitHub Repo Stars GitHub last commit

  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 GitHub Repo Stars GitHub last commit

Zgen is not being actively maintained. I recommend that you switch to the Zgenom GitHub Repo Stars GitHub last commit fork, which is.

Zgenom GitHub Repo Stars GitHub last commit

Most of these plugins can be installed by adding zgenom load githubuser/reponame to your .zshrc file in the same function you’re doing your other zgenom load calls in.

Zgenom will automatically clone the plugin repositories for you when you do a zgenom save.

zplug GitHub Repo Stars GitHub last commit

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

zpm GitHub Repo Stars GitHub last commit

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

Writing New Plugins and Themes

I’ve documented some recommendations for writing new plugin and themes here GitHub Repo Stars GitHub last commit.

There is also a more detailed Zsh Plugin Standard.

Other Resources

ZSH Tools

Other Useful Lists

Find other useful awesome-* lists at the awesome collection GitHub Repo Stars GitHub last commit

Other References

Thanks

Many thanks to all the contributors over the years. The list wouldn’t be nearly as complete without all your help.

Made with contributors-img.