awesome-zsh-plugins
Status
A collection of ZSH frameworks, plugins, tutorials & themes inspired by the various awesome list collections out there.
Table of Contents
- Disclaimer
- Frameworks
- alf
- ansible-role-zsh
- ant-zsh
- antibody
- antidote
- antigen-hs
- antigen
- ax-zsh
- deer
- dotzsh
- fresh
- miniplug
- oh-my-zsh
- PMS
- prezto
- pumice
- sheldon
- shplug
- Toasty
- uz
- x-cmd
- yazt
- yzsh
- zap
- zapack
- zcomet
- zeesh
- zgem
- zgen
- zgenom
- zilsh
- zim
- Zinit
- zinit-4
- zit
- zlugin
- znap
- zoppo
- zpacker
- zpico
- zplug
- zpm
- zr
- zsh.ai
- zshing
- zsh-dot-plugin
- zsh-mgr
- zshPlug
- ztanesh
- ztheme
- ztupide
- zulu
- Setups
- Prerequisites
- Tutorials
- Plugins
- Completions
- Themes
- Fonts
- Installation
- Writing New Plugins and Themes
- Other Resources
- Thanks
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.
- rossmacarthur/zsh-plugin-manager-benchmark - Contains performance benchmarks for the most popular ZSH frameworks, including both install time and load time.
- pm-perf-test - Tooling for running performance tests on multiple ZSH frameworks.
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 the powerlevel9k theme, autosuggestions, syntax-highlighting and fzf-widgets and fzf-marks. 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 is a faster and simpler antigen 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 left off.
use-omz enables easy use of Oh-My-ZSH with antidote.
antigen-hs
antigen-hs is a replacement for antigen optimized for a low overhead when starting up a zsh
session. 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.
Ax-ZSH integrates well with Powerlevel10k and other extensions, including plugins compatible with oh-my-zsh.
deer
A minimalist ZSH plugin manager.
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.
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
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
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
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-contrib.
pumice
Pumice is a lightweight plugin manager for ZSH.
sheldon
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.
- Any
- Highly configurable install methods using handlebars templating.
- Super-fast parallel installation.
- Configuration file using TOML syntax.
- Uses a lock file for much faster loading of plugins.
shplug
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
Toasty is a ZSH framework made to facilitate management, not dictate it.
uz
A ZSH micro plugin manager.
x-cmd
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:
- Wrappers for Common Commands (e.g., cd, ip, ps, tar, apt, brew): These wrapped commands are more intelligent and easier to use compared to the native commands.
- Lightweight Package Management Tool: We have implemented a lightweight package management tool using shell and awk. Through it, you can quickly obtain most common software tools, such as jq, 7za, bat, nvim, python, node, go, etc.
- CLI for Useful Websites (e.g., github.com, cht.sh): We have wrapped their APIs using shell and awk for daily use and to obtain corresponding services in scripts.
- AI Tools: We provide CLIs for ChatGPT, Gemini, Jina.ai, etc., and have wrapped corresponding shortcut commands for different application scenarios, such as
@gemini
for chatting with Gemini AI and@zh
for using AI to translate specified content or command results.
yazt
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
yzsh is a simple ZSH framework for managing plugins, themes, functions, aliases and environment variables.
zap
zap is a minimal ZSH plugin manager.
zapack
zapack is a basic fast minimal ZSH plugin loader.
zcomet
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
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 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 fork instead, which is actively maintained and continues to get new features.