Top 50 Awesome List

unixorn/awesome-zsh-plugins

Development Environment  52 years ago  10.3k
A collection of ZSH frameworks, plugins, themes and tutorials.
View byDAY/WEEK/README
View on Github

awesome-zsh-plugins

Awesome

Status

License Awesomebot GitHub stars GitHub last commit (branch) 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.

Frameworks

These frameworks make customizing your ZSH setup easier.

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

alfstars90

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-zshstars249

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-widgetsstars78 and fzf-marksstars382. Fully customizable.

ant-zshstars25

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

antibodystars1.7k

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

antigen-hsstars200

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

antigenstars6.9k

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-zshstars10

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

dotzshstars196

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.

freshstars1.1k

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.

  • No crashes or double plugin loading when re-sourcing .zshrc
  • Unlike other frameworks, Miniplug does not pollute your $PATH
  • Only does the bare minimum for managing plugins

mzpmstars2

mzpm is a minimalist 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.

PMSstars4

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.

preztostars12.6k

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

pumicestars8

Pumice is a lightweight plugin manager for ZSH.

pzstars27

A plugin manager for ZSH doesn't have to be complicated to be powerful. PZ doesn't try to be clever when it can be smart. PZ is a full featured, fast, and easy to understand plugin manager encapsulated in a single file with about 200 lines of clean ZSH.

PZ does just enough to manage your Zsh plugins really well, and then gets out of your way. And it's unit tested too to make sure it works as expected!

sheldonstars294

A fast, configurable, shell plugin manager.

  • Can manage
    • Any git repository.
      • Branch/tag/commit support.
      • Extra support for GitHub repositories.
      • Extra support for Gists.
    • Arbitrary remote files, simply specify the URL.
    • Local plugins, simply specify the directory path.
  • Highly configurable install methods using handlebars templating.
  • Super-fast parallel installation.
  • Configuration file using TOMLstars16.5k syntax.
  • Uses a lock file for much faster loading of plugins.

Toastystars10

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

tzpmstars1

The tiniest ZSH plugin manager. Still under development.

uzstars4

A ZSH micro plugin manager.

yaztstars0

Yazt is a simple zsh theme manager in maintence that is compatible with nearly everything. You can use prompts in plugins, mix 'n' match two themes, with a few modifications, you can even use it in bash.

zapackstars7

zapack is a basic fast minimal ZSH plugin loader.

zcometstars88

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.

zebrafishstars3

Zebrafish is a lightweight, full-featured, blazing-fast ZSH micro-framework in just one file.

zeeshstars40

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.

zgemstars10

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

zgenstars1.3k

Zgen is a lightweight plugin manager for ZSH inspired by Antigen. 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 zgenomstars152 fork instead, which is.

zgenomstars152

A lightweight plugin manager for ZSH that is a fork that extends the brilliant zgenstars1.3k 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 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 preztostars12.6k-compatible plugins and themes, and will automagically git clone plugins for you when you add them to your plugin list.

ZIstars37

ZI is a Swiss Army Knife for Zsh Unix shell. Formerly known as zplugin, zinit. ZI - Wiki Pages.

Bonus: you can use zi-consolestars0 to view and change the state of the ZSH session (e.g.: list and unload plugins) and to delete the plugins and snippets from the disk.

zilshstars32

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

zimstars2.3k

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

Zinitstars654

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

  • Turbo mode – 80% faster ZSH startup! for example: instead of 200 ms, it'll be 40 ms
  • Completion management (selectively disable and enable completions)
  • Snippets (↔ regular files downloaded via-URL, e.g.: scripts) and through them Oh My Zsh and Prezto plugins support (→ low overhead)
  • Annexes (↔ Zinit extensions)
  • Reports (from the plugin loads – plugins are no longer black boxes)
  • Plugin unloading (allows e.g.: dynamic theme switching)
  • bindkey capturing and remapping
  • packages
  • Clean fpath (the array $fpath is not being used to add completions and autoload functions, hence it stays concise, not bloated)
  • Services ↔ a single-instance, background plugins
  • Also, in general: all the mechanisms from the ZSH Plugin Standard – Zinit is a reference implementation of the standard.

The project is very active – currently > 3100 commits.

zitstars25

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.

znapstars372

emoji-zapZnap is a light-weight plugin manager & Git repo manager for ZSH that's easy to grok. While tailored for ZSH plugins specifically, Znap also functions as a general-pupose utility for managing Git repos.

Znap

Znap can:

  • Make any prompt appear instantly. Reduce your startup time from ~200ms to ~40ms with just one command.
  • Asynchronously compile your plugins and functions.
  • Cache those expensive eval $(commands).
  • Clone or pull multiple repos in parallel.
  • Re-clone all your repos without you having to re-enter them.
  • Multi-repo management
  • Automatic compinit and bashinit - you no longer need them in your .zshrc, znap will do them automatically as needed.

zoppostars31

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.

zpackerstars2

Zpacker is a lightweight ZSH plugin & theme management framework.

zpicostars1

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

zplugstars4.9k

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

zpmstars203

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

  • Fastest plugin manager (Really, after the first run, zpm will not be used at all)
  • Support for async loading
  • Dependencies between packages
  • zpm runs on Linux, macOS, FreeBSD and Android.
  • zpm plugins are compatible with oh-my-zsh.

zrstars129

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

zshingstars7

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

  • keep track of and configure your plugins right in the .zshrc
  • Install ZSH plugins
  • Update ZSH plugins
  • Search by name all available ZSH Plugins
  • Clean unused plugins up
  • run the above actions in a single command
  • manages the Source Plugins of your installed Plugins

ztaneshstars264

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.

zthemestars2

ztheme is a small and fast theme engine for ZSH.

ztupidestars4

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

zulustars136

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

  • Easily manage your shell environment without editing files.
  • Create aliases, functions and environment variables, and have them available to you at the next shell startup.
  • Add and remove directories from $path, $fpath and $cdpath with simple commands.
  • Install packages, plugins and themes easily, and have them available to you immediately.

Setups

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

zgenom

  • zsh-quickstart-kitstars497 - A simple quickstart for using ZSH with zgenomstars152. This automatically configures ZSH to use zgenomstars152 to load a curated collection of plugins and periodically automatically update itself, the plugins, and the quickstart kit itself.

zinit

  • ZPWRstars79 - An extremely powerful custom terminal environment built on top of Zinitstars654 for maximum speed. A full terminal configuration framework including zsh, tmux, fzf, vim and spacemacs configurations. It includes:
  • 11.5k+ tab completions
  • 1.9k+ aliases
  • 330+ git aliases
  • 350+ zpwr subcommands
  • 2.1k functions
  • 150+ zpwr environment variables
  • 170+ perl, python, bash, zsh scripts
  • 2.8k line README.md
  • 46k+ LOC
  • 1 line install

Tutorials

Generic ZSH

  • ZSH Unpluggedstars55 - Good resource if you want to eliminate using a framework but still easily use plugins.

Antigen

Oh-My-Zsh

Prezto

Zgen

Zinit (né zplugin)