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 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 is a tiny and lightweight ZSH configuration environment for special customization needs. It includes plugins, themes and a basic convenient setup.
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.
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 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 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 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 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.
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.
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.
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 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.
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 extended.
A lightweight plugin manager for ZSH that is a fork that extends the brilliant zgen 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-compatible plugins and themes, and will automagically git clone plugins for you when you add them to your plugin list.
ZI is a Swiss Army Knife for ZSH. Formerly known as zplugin andzinit. ZI - Wiki Pages.
Bonus: you can use zi-console 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.
This is Zinit 4 from the original author, who once removed the Zinit repo 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:
AppImage distribution (release link),
Action complete – press Alt-Shift-A and Alt-Shift-C to complete plugin names and ice modifiers,
Themes – set $ZITHEME to one of default, blue and gold to set a color set to use for Zinit 4 messages,
New ice build which is equivalent of three other ices: null, configure and make install and simply builds the project from sources, with support for autotools/CMake/Meson/Scons.
These are the most visible changes, but there are more (like e.g.: support for compiling with libraries from previously built projects/$ZPFX).
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.
: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-pupose utility for managing git repositories.
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.
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.
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.
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.
Fastest plugin manager (Really, after the first run, zpm will not be used at all)
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 is a environment manager for ZSH 5 or later, 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-kit - A simple quickstart for using ZSH with zgenom. This automatically configures ZSH to use zgenom to load a curated (but easily customizable) collection of plugins and periodically automatically update itself, the plugins, and the quickstart kit itself.
zinit
ZPWR - An extremely powerful custom terminal environment built on top of Zinit for maximum speed. A full terminal configuration framework including zsh, tmux, fzf, vim and spacemacs configurations. It includes:
12.9k+ tab completions
1.9k+ aliases
330+ git aliases
400+ zpwr subcommands
2.8k functions
175+ zpwr environment variables
175+ perl, python, bash, zsh scripts
2.8k line README.md
50k+ LOC
1 line install
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 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:
Hack - Another Powerline-compatible font designed for source code and terminal usage.
Input Mono - A family of fonts designed specifically for code. It offers both monospaced and proportional fonts and includes Powerline glyphs.
Iosevka - Iosevka is an open source slender monospace sans-serif and slab-serif typeface inspired by Pragmata Pro, M+ and PF DIN Mono, designed to be the ideal font for programming.
Monoid - Monoid is customizable and optimized for coding with bitmap-like sharpness at 15px line-height even on low res displays.
Mononoki - Mononoki is a typeface by Matthias Tellen, created to enhance code formatting.
Nerd fonts - A collection of over 20 patched fonts (over 1,700 variations) & the fontforge font patcher python script for Powerline, devicons, and vim-devicons: includes Droid Sans, Meslo, AnonymousPro, ProFont, Inconsolta, and many more. These can be installed with brew - do brew tap homebrew/cask-fonts && brew install --cask fontname
Spacemono - Google's new original monospace display typeface family.
Victor Mono - Victor Mono is a free programming font with semi-connected cursive italics, symbol ligatures (!=, ->>, =>, ===, <=, >=, ++) and Latin, Cyrillic and Greek characters.
zephyr - Zephyr uses built-in Zsh features to set up better default options, completions, keybindings, history, and much more.
ZSH for Humans - A turnkey configuration for ZSH that aims to work really well out of the box. It combines a curated set of ZSH plugins into a coherent whole that feels like a finished product rather than a DIY starter kit.
ZSH Pony - Covers customizing ZSH without a framework.
How to Install and Configure Z Shell in Ubuntu - Amar Pan's article will walk you through the process of installing and configuring ZSH, including how to change themes and enable the time-saving autosuggestions plug-in.
rad-shell - A fantastically feature rich, lightning-fast shell setup, powered by ZSH, Prezto, and Zgen.
Zinit (né zplugin)
BlaCk-Void-Zsh - :crystal_ball: Awesome, customable Zsh Starter Kit :stars::stars:. Includes powerline, fzf integration, Weather and image viewing in some terminals.
zinit-configs - Real-world configuration files (basically a collection of .zshrc files) holding zinit invocations.
Command-not-found handler customized for MSYS2 suggests what package to install
Sets up nano as main editor, enables nano syntax highlighting
Custom helper scripts added to ConEmu/msys64/3rdparty
Plugins
1999 - Powerline-esque theme. Includes git status decorations, network and battery status.
1password - Adds 1Password functionality including a opswd command that wraps the op command. It takes a service name as an argument and copies the password for that service to the clipboard.
256color - Enhances the terminal environment with 256 colors. It looks at the chosen TERM environment variable and sees if there is respective ncurses' terminfo with 256 colors available. The result is a multicolor terminal, if available.
abbr (olets) - Manages auto-expanding abbreviations that expand inline when you hit space, inspired by fish shell.
abbr-path - Adds functionality of the theme_title_use_abbreviated_path parameter from some oh-my-fish themes.
abbrev-alias - Provides functionality similar to vim's abbreviation expansion.
actiona - Make it easier to call actiona scripts from your command line. Includes tab completions.
activate-py-environment - Automagically detects and activates your python environments (poetry, virtualenv and conda) while traversing directories.
adonisjs - Plugin for skipping the node part of the ace command.
airpods-battery - Looks for AirPods via Bluetooth and puts their battery charge state into $RPROMPT.
alehouse - Contains short aliases for brew commands, inspired by betterbrew.
alias-finder - Displays an alias when you use a command you have aliased previously. Helpful for remembering aliases you have defined in the past. Written as a pure ZSH script for speed.
alias-maker - Allows you to easily create and manage aliases from the command line.
alias-tips - An oh-my-zsh plugin to help remembering those aliases you defined once.
allergen - A collection of custom ZSH plugins to use with Antigen.
almostontop - Clears previous command output every time before new command executed in shell. Inspired by the alwaysontop plugin for bash.
alt-and-select - Binds the alt-c (copy), alt-v (paste), alt-x (cut) keyboard shortcut to a commands: copy-region-as-kill, yank, kill-region. Remaps the execute command to Alt-Shift-X.
appup - Adds start, stop, up and down commands when it detects a docker-compose.yml or Vagrantfile in the current directory (e.g. your application). Just run up and get coding!
apt - For distros with apt package manager. Offers to install missing programs for you.
arc - Adds aliases for Yandex version control system.
asdf-prompt - Provides a function usable in prompts that displays version information for your current tool versions.
asdf (kiurchv) - Integration and completions for asdf, the extendable version manager, with support for Ruby, Node.js, Elixir, Erlang and more.
asdf (zimfw) - Initializes asdf, installing it using git if not installed yet. Also, bypasses the shims if you're using the direnv plugin, as suggested by the plugin pro-tips.
ask - Serves as a ChatGPT API frontend, enabling you to interact with ChatGPT directly from the ZSH shell using only cURL and jq.
assume-role - ZSH plugin to allow you to assume AWS IAM roles easily. Includes completions.
async - Library for running asynchronous tasks in ZSH without requiring any external tools. Allows you to run multiple asynchronous jobs, enforce unique jobs (multiple instances of the same job will not run), flush all currently running jobs and create multiple workers (each with their own jobs).
atuin - Replaces your existing shell history with a SQLite database, and records additional context for your commands. Additionally, it provides optional and fully encrypted synchronisation of your history between machines, via an Atuin server.
aur-install - Small plugin to install packages from the AUR.
auto-color-ls - Automatically list directories with colorls.
auto-fortune-cowsay - Prints out an ASCII picture of a cow saying a random epigram on every ZSH start.
auto-fu.zsh - Automatic complete-word and list-choices. Originally incr-0.2.zsh by y.fujii .
autoswitch-virtualenv - ZSH plugin to automatically switch python virtualenvs and pipenvs when traversing directories. Automatically detects pipenv and poetry projects.
autoupdate-antigen - Antigen doesn't do automatic updates like oh-my-zsh. This plugin adds auto updating for antigen, both of antigen and the bundles loaded in your configuration.
autoupdate-oh-my-zsh-plugins - oh-my-zsh doesn't automatically update non-core plugins, this plugin autoupdates git repositories in the $ZSH_CUSTOM directory.
autovenv - Automatically activates Python virtual environments when entering their parent directory.
aws-cli-mfa - AWS CLI MFA plugin based on sweharris' aws-cli-mfa. Supports specifying mfa_device in profile.
aws2 - Provides completion support for version 2 of the awscli and a few utilities to manage AWS profiles and display them in the prompt.
aws - Forked from the original oh-my-zshaws. Includes completions for awscli and a few utilities for managing AWS profiles and displaying them in your prompt.
awsume - Plugin that enables showing the current awsume profile.
azure-keyvault - Makes using Azure keyvaults less verbose from the cli.
azure-subscription - Displays information about the Azure current Subscription and tenant.
base16 - Adds a script to allow you to change your shell's default ANSI colors but most importantly, colors 17 to 21 of your shell's 256 colorspace (if supported by your terminal). This script makes it possible to honor the original bright colors of your shell (e.g. bright green is still green and so on) while providing additional base16 colors to applications such as Vim.
baseballfunfacts - Print random baseball related "fun facts" in your shell. Depends on fortune and cowsay being installed.
bitwarden (kalsowerus) - Opens a fzf widget containing your Bitwarden vault items. Upon selecting an item either the username or password will be either written into the shell or copied into the clipboard. Requires fzf, jq and bitwarden.
blackbox - Stack Exchange's toolkit for storing keys/credentials securely in a git repository.
bob - Plugin for bob a cross-platform and easy-to-use Neovim version manager.
bofh - Adds functions to display random bofh fortunes.
bol - Prints a random quote when you open a terminal window.
brew-switcher - Automatically switch between Homebrew installations based on the current active arch, arm64 or x86_64, on Apple Silicon Macs.
browse-commit - A plugin that lets you open any commit in your browser from the command line.
bruse - Makes it easy to brew link different versions of packages.
bumblebee - A plugin to toggle prepending optirun in the command line.
bw - Provides formatting options and easy access to credentials stored in Bitwarden via the Bitwarden CLI. The plugin tries to retrieve a valid session before each action, therefore an explicit login is not nescessary beforehand.
cd-reminder - Display reminders when cd-ing into specified directories.
cd-reporoot - A ZSH plugin to cd to the current repository checkout's root directory.
cd-ssh - ssh to a server when you accidentally cd to it.
cdbk - A ZSH plugin to allow easy named directory creation - shortcuts to any directory you want.
cdc - Makes it easier to change directories to directories that are subdirs of a user-defined list of directories. Includes tab-completion, session history and pushd, popd and dirs equivalents.
change-case - Plugin for fast swap between upper and lower case in your command line. :sunglasses:
cheatsheet - Plugin to easily view, create, and edit cheatsheets.
check-deps - Helper for ZSH plugins that allows them to show how to install any missing dependencies. Works on Debian (and derivatives like Ubuntu), Arch and its derivatives, Node.js and ZSH plugins if you are using the zpm framework.
chgo - Clone of chruby modified to make it easy to switch between multiple Go versions.
clean-project - Remove files from projects (automatically by default). Useful for keeping .DS_Store and Thumbs.db files from cluttering your directories.
clipboard - Adds a cross-platform helper function to access the system clipboard. Works on macOS, X11 (and Wayland) and Cygwin.
cmd-status - Reports the status of commands including return code and duration.
cmd-time - Collects the execution time of commands and exports the result to a variable that can be used elsewhere. It is similar to the built-in REPORTTIME function, but it is also slightly different. Unlike when you set REPORTTIME, it considers user and sytem time, not just CPU time.
cmdtime - Displays the duration of a command to the terminal forked from the timer plugin.
code-review - Launches git difftool on git merge-base target_branch base_branch and target_branch.
command-note - Record complex commands and comment on them.
command-time - Show execution time for long commands in ZSH and powerlevel9k. Similar to REPORTTIME builtin, but only outputs when user + system time >= REPORTTIME.
completion-generator - This plugin tries to read the list of options from the help text of programs and generate a completion function automatically. Note that this doesn't do it automatically, you have to explicitly call the generator to create a completion script.
conda-init - Cleans up environment variables so conda doesn't mess up tmux.
conda - Adds function to provide a prompt segment for conda and aliases for some base functions.
condaenv - Provides a condaenv_prompt_info function which returns the current conda environment name.
confer - Tries to find program configuration files automatically so you can do things like conf vim to edit your vim configuration files.
containers - Provides aliases and better interoperability between [podman(https://podman.io)] and docker commands based on which you have installed.
copy-pasta - Copy and paste files in your terminal like you would in a GUI.
copyzshell - A ZSH plugin to copy your shell configuration to another machine over ssh.
crash - Adds proper error handling, exceptions and try/catch for ZSH.
crayon-syntax - ZSH syntax highlighting for the Crayon Plugin for Wordpress.
cros-auto-notify - Automatically sends out a notification when a long running task has completed. Works with macOS and linux (if hterm-notify is installed).
cycle-fav-dirs - A plugin to cycle through your favourite directories.
czhttpd - A simple http server written in 99.9% pure ZSH.
ddev - A ZSH plugin for the ddev tool for setting up PHP development environments.
declare-zsh - A parser for zinit commands in .zshrc. It allows you to perform the following actions on .zshrc from the command-line - enable and disable plugins add or remove snippets.
deepx - Collection of useful and fun commands to improve workflow and quality of life.
deer - A file navigator for ZSH heavily inspired by ranger.
def - Allows you to specify and run a default command in any directory of your choice.
defer - Defers execution of a zsh command until zsh has nothing else to do and is waiting for user input. Its intended purpose is staged zsh startup. It works similarly to Turbo mode in zinit.
delete-prompt - ZSH widget to delete the prompt texts within the current line. It is useful when executing pasted commands from the web or a README. A leading non-alphanumeric character + space is detected as a prompt.
deno (tricked-dev) - Automatically installs deno to $HOME/.deno on startup if deno is not already installed.
depot-tools - Simple oh-my-zsh plugin for installing the chromium depot_tools. Installing this plugin will add all of the chromium depot_tools to your $PATH automatically.
dev - Provides a lightweight version of Shopify's internal dev tool
dietpi - Adds utilities for dietpi to your $PATH (and includes aliases to automagically run them with sudo) when you log into a machine running dietpi.
directory-history - A per directory history for ZSH which implements forward/backward navigation as well as substring search in a directory sensitive manner.
dotbare - Interactive dotfile management with the help of fzf.
dotfiles - Keep your dotfiles in sync across multiple machines using git.
dotpyvenv - Automagically switch to a python virtual environment located (that you previously have created with virtualenv program) in a directory named .pyvenv when you cd into a directory.
duration - Displays command duration if it exceeds a user-settable run time.
dwim - Attempts to predict what you will want to do next. It provides a key binding (control-u) that will replace the current (or previous) command line with the command you will want to run next.
elixir - Adds shortcuts for Elixir, IEX, Mix, Kiex and Phoenix.
emacs (cowboyd) - Make Emacs the default for CLI operations like editing git commit messages; set up handy aliases.
emacs (flinner) - Uses the Emacs daemon capability, allowing the user to quickly open frames, whether they are opened in a terminal via a ssh connection, or X frames opened on the same host.
emoji-cli - :scream: Emoji completion on the command line.
emojis - Adds numerous ASCII art emojis to your environment in convenient variables.
enhancd - A simple tool that provides an enhanced cd command by memorizing all directories visited by a user and use it for the pathname resolution.
envrc - Automatically loads and unloads environment variables if a .envrc file is found in a directory.
escape-backtick - Quickly insert escaped backticks when double-tapping "`".
evalcache - Caches the output of a binary initialization command like eval "$(hub alias -s)", to help lower shell startup time by loading from cache instead of re-running every new shell session.
evil-registers - Extends ZLE vi commands to remotely access named registers of the vim and nvim editors, and system selection and clipboard.
exa (DarrinTisdale) - Enables a number of aliases extending exa, the modern replacement for ls.
fzf-dir-navigator - This is a cool and user-friendly directory navigation plugin for zsh using fzf that allows the user to switch to any directory from anywhere and to anywhere. It also maintains a history of recently visited directories. Additionally, you can use hotkeys to move back and forth between directories in the shell session.
fzf-fasd - Integrates fzf and fasd --- tab completion of z with fzf's fuzzy search!
fzf-finder - Plugin to have a cool search keybinding with fzf and (optionally) bat and fd. Falls back to find and cat. Searches in the local tree of subdirectories for files.
fzf-history-search - Replaces Ctrl+R with an fzf-driven history search that includes date/times.
fzf-it - Make any command interactive wrapping it with fzf functionality.
fzf-marks - Little script to create, navigate and delete bookmarks in bash and zsh, using the fuzzy finder fzf.
fzf-packagemanager - Adds commands for installing tools via various package managers using fzf. Supports apt, brew & dnf.
fzf-plugin - oh-my-zsh's fzf plugin extracted so it can be used easily with other plugin managers.
fzf-prezto - Prezto plugin that finds where fzf has been installed and enables its auto-completion and key-bindings. This plugin works as a Prezto zstyle configuration option.
fzf-tab - Replace ZSH's default completion selection menu with fzf.
fzf-tools - Provides functions, aliases and key-bindings for commands such as alias, find, ls, man, printenv that are designed to enhance your command-line workflow by making them to default to filtering through fzf, allowing you to quickly find files, search & run commands from history, run scripts of many supported types, browse git commits, and more.
fzf-utils - Provides functions to kill proceses and find in path with fzf.
git-prune (diazod) - Allows you to delete all branches that are already merged in your local git repository and/or that were merged in your remote origin git repository.
git-prune (seinh) - Plugin that simplifies deleting merged branches in a git repository.
git-scripts - Adds git-squash-branch and git-remove-merged commands.
git-secret - A bash-tool to store your private data inside a git repository.
git-smart-commands - Adds extra git commands to make some common git usages more efficient.
git-worktree - Wraps some git worktree operations for simplicity and productivity. Includes fzf tooling.
git-worktrees - Makes git worktrees more functional. Includes tab completions.
git - Replacement for the stock oh-my-zshgit plugin. Provides quite a few useful aliases and functions. The motivation to replace the default plugin stems from the fact that it comes with some inconsistencies that make a few popular commands rather unintuitive, so this plugin makes the aliases consistent.
gitcd (SukkaW) - Adds command to git clone a repository and cd into the resulting directory.
gitcd (viko16) - Automatically cd to a git working directory after cloning it.
hangul - Auto correct hangul(한글, korean) to English when it was supposed to be typed in English. 영어를 타이핑 해야되는데 한글로 타이핑된경우 자동으로 수정합니다.
hbt - Heuristic ZSH suggestion system based on past command usage.
hebzsh - If a command is not found as typed in Hebrew, translates the command as if it was typed on a keyboard with a US English layout and tries again.
help - Colorizes the output of commands run with --help.
hints - Display glob and parameter flags and other non completable info right under your editing buffer.
history-enquirer - Enhances history search with more interaction and a multiline selection menu. Requires Node.js.
history-filter - Allows you to specify patterns that will automatically exclude commands from being inserted into your permanent history. Particularly useful for preventing secrets being written.
history-here - Binds ^G to quickly toggle the current shell history file location.
history-popup - Captures the PageUp key and uses dialog to open a popup menu with the history, so the user can interactively navigate through it and pick the history line to bring back to the prompt.
history-search-multi-word - A syntax highlighted, multi-word history searcher for ZSH, bound to Ctrl-R, with advanced functions (e.g. bump of history entry to top of history).
history-substring-search - Needs to be loaded after zsh-syntax-highlighting, or they'll both break. You'll also need to bind keys to its functions, details are in the README.md.
history-sync (vitobotta) - Syncs your ZSH history across computers using a git private repository. Uses openssl to encrypt the history.
iterm2-tabs - Set colors and titles of iTerm 2 tabs.
iterm2 - Packs iTerm 2's ZSH integration scripts into a ZSH plugin to avoid polluting your $HOME directory, with a negligible time increase of only 2ms.
iwd - Similar in concept to $PWD, this ZSH plugin saves your initial working directory in $IWD for easy returns to the starting point of your session.
jabba - Adds shell integration code and completions for the jabba Java version manager.
java-zsh-plugin - Adds a setjdk command so you can switch easily between different versions of the jdk.
javaVersions - Change between different java versions with a single command.
jdk-switch - Switches between jdk versions. Works on macOS and Linux.
jenkins - A jenkins plugin for ZSH, heavily inspired by the excellent jira plugin.
last-working-dir-tmux - Keeps track of the last used working directory globally and per tmux session and automatically jumps into it for new shells.
last-working-directory - Broken out copy of the version in oh-my-zsh. Keeps track of the last used working directory and automatically jumps into it for new shells.
lazy-load - Lazy load tab completions only when you actually need them.
lazyload - Lazy load commands and speed up start up time of ZSH.
learn - Learning collection in MySQL/MariadB to save, query and quiz everything you learn.
lumberjack - Lumberjack is a logging interface for shell scripts.
lux - ZSH plugin to toggle the light & dark modes of macOS, iTerm 2, Visual Studio Code and other items and applications via the lux command. Highly customizable: included items can be configured by defining variables. Highly extensible: items can be added by defining functions. Includes a macos_is_dark helper function to determine if the macOS dark mode is active for use in theming.
mac-packaging - A set of common functions used for enterprise Mac packaging with Munki.
macos-theme - Adds the theme command, which toggles between light and dark mode in macOS. Requires lux plugin.
mage2docker - Makes it easy to work with Docker and Magento 2. Speeds up and simplifies common commands like clean cache, setup upgrade, compile di and much more in Magento 2 on containers.
magento-2 - Adds m2 function to run magento binary, adds tab completions.
magic-enter - Make your enter key magical by binding a ZSH command to it.
manydots-magic - A zle tweak for emulating ...'==../..' etc.
markedit - Mark files and edit them with autocompletion for existing marks.
markgate - Allows you to mark directories so you can jump directly to them.
media-sync - A plugin to facilitate copying media between two rclone locations.
mercurial - Extracted from oh-my-zsh so you can use it without the rest of oh-my-zsh.
mfunc - Allows you to define persistent functions on-the-fly, without the need to add them to your config files. These functions are permanently available until you delete them.
mkarch - ZSH plugin that allows you to create archives using multiple different compression formats.
mode-switch.CLI - A ZSH plugin for switching command line between normal mode and vi mode.
mysql-login - Adds alias for MySQL with login path.
mysql - Adds some functions for dealing with mysql.
n - Auto-switches node versions based on project environment using n.
namelink - Provides an automatically synchronized mapping of filesystem entries (typically symbolic links) in a set of directories to their counterparts in the named directory hash.
nodo - This plugin helps you prevent node_modules directories from filling your iCloud storage by un-syncing the directory or can save even more space by removing all node_modules directories within the chosen root directory. This is particularly useful for cleaning up a project that has multiple node_modules trees
nohup - Add nohup to the current command pressing Ctrl-H.
noreallyjustfuckingstopalready - macOS users know the pain of trying to figure out what command actually flushes the DNS cache on their version of macOS, and this plugin makes that annoyance go away.
notify (luismayta) - Notifications for ZSH with auto installation of dependencies and r2d2 sounds.
notify (marzocchi) - A plugin for ZSH (on macOS and Linux) that posts desktop notifications when a command terminates with a non-zero exit status or when it took more than 30 seconds to complete, if the terminal application is in the background (or the command's terminal tab is inactive).
npm (zfben) - Use n as npm aliases with noglob prefix and more. Based on the Oh-My-Zsh npm plugin.
npms - Utility powered by fzf for using npm scripts interactively. Requires fzf and jq.
nvm-auto-use - Calls nvm use automatically whenever you enter a directory that contains an .nvmrc file with a string telling nvm which node to use.
nvm-lazy - Plugin for lazy loading of oh-my-zsh's *nvm- plugin. It supports lazy-loading nvm for more than one binary/entrypoint, with the defaults being nvm, node and npm.
nvm - ZSH plugin for installing, updating and loading nvm.
opera-gx - Enables starting Opera GX with a specific user profile by using the opgx command followed by the profile's name. The plugin also implements autocompletion for profile names.
package-any-node - Easy installing of any Node modules inside the plugin directory, exposing their binaries via shims (i.e.: forwarder scripts) created automatically by Bin-Gem-Node annex.
packer - Adds aliases and auto-completes for Hashicorp packer.
pantheon-terminal-notify - Background notifications for long running commands. Supports Elementary OS Freya.
path-ethic - Helps manage your $PATH quickly and easily. Doesn't touch your existing .zshrc, .zprofile, but adds on top of your existing environment instead.
pctl - Toggle the environment variables for proxying.
peco-history - Search shell history with Peco when pressing ctrl+R.
penmux - A session manager plugin meant to be used for penetration testing sessions and tracking the terminal sessions to be used in reports.
pentest - Aliases and functions for the lazy penetration tester.
per-directory-history - Per directory history for ZSH, as well as global history, and the ability to toggle between them with ^G.
percol - Interactively and incrementally search history/resume background jobs using percol.
perlbrew - Installs perlbrew if not already installed and initializes it for your shell.
pew - Sets up and manages Python virtualenvs using pew, automatically switches virtualenvs as you move directories.
pg - Adds utility functions to work with PostgreSQL.
ph-marks - Bookmark pornhub videos from your terminal.
pins - ZSH plugin for pinning directories. Like a CLI folder bookmark manager with tab completions.
pip-app - Makes it easy to install python applications into distinct Python virtualenvs so they don't conflict with any other python requirements on your system.
pip-env - Automatic pipenv activation upon entry into a pipenv project.
pipe - Includes docker and package-related scripts.
pipenv (owenstranathan) - Automatically activates a pipenv when entering a directory if there is Pipfile in that directory. Includes pipenv completions.
plugin-vscode - Plugin for Visual Studio Code, a text editor for macOS, Windows, and Linux.
plugin - Creates custom oh-my-zsh plugins from a boilerplate template. Very oh-my-zsh centric, the generated plugins will need editing to work with other frameworks.
pnpm (baliestri) - Adds useful aliases for many common pnpm commands. Includes tab-completions.
ppsmon - Reads /sys/class/net/$interface/ to keep track of packet transmission rates. It stores the current rate to a file in the RAM backed filesystem where it can be easily accessed for display in a shell-prompt. Linux-only due to use of /sys.
pr-cwd - Creates a global variable with current working directory. Plugin has integration with jocelynmallon/zshmarks.
pr-eol - Displays an EOL symbol which can be embedded in the prompt.
pr-exec-time - Adds a variable you can use to display the execution time of the last command run.
pr-git - Creates a global variable with git status information that can be displayed in prompts.
pr-is-root - Sets an environment variable you can use in a custom prompt when running as root.
pr-jobs - Creates an environment variable which can be used to display background job information in a custom prompt.
pr-node - Sets an environment variable which can be used to display Node.js information in a custom prompt.
pr-return - Plugin for ZSH which displays the exit status of the last command run.
pr-user - Creates a global variable that can be used in prompts.
presenter-mode - Expands aliases during presentations. It also increases the terminal window's contrast to enhance visibility.
prettyping - Adds a wrapper around the standard ping tool with the objective of making the output prettier, more colorful, more compact, and easier to read.
print-alias - Prints commands with aliases expanded whenever you use an alias at the command line.
printc - Allows you to print in any color in the RGB space via a simple printc call.
profile-secrets - Securely keep sensitive variables (api tokens, passwords, etc) as part of your terminal init files. Uses gpg to encrypt/decrypt the file with your secrets.
project (gko) - Create node/python/ruby projects both locally and on GitHub (private or public repository).
proxy-plugin - Quickly enable and disable proxy shell environment settings.
proxy - Configure proxy settings for some package managers and software.
pseudo-projectile - Like projectile in emacs? This adds similar functionality to your ZSH environment by opening fzf-selected paths in nvim. Deprecated by author.
psgrep - Makes ps grep hide its own process from the results of a ps aux | grep.
purge-history-secrets - Uses gitleaks to periodically scan your ZSH history for secrets and purge them if found. Requires jq.
pyenv (mattberther) - Inspired by zsh-rbenv. Installs, updates or loads pyenv, and adds extra functionality.
pyenv (twopizza9621536) - Based on the oh-my-zsh pyenv plugin with modifications from the rbenv and jenv plugins.
pyenv (xlshiz) - Loads pyenv into the current shell and provides prompt info via the pyenv_prompt_info function. Also loads pyenv-virtualenv if available.
redis - Will run redis-server pointing it to the redis.conf configuration file. This can be used with the zdharma/zredis plugin to share variables between shells.
reentry-hook - Plugin that re-enters working directory if it has been removed and re-created.
reload - Adds function to quickly reload your .zshrc.
reminder - A plugin which displays reminders above every prompt.
rvm - Initiates rvm and adds rubygem binaries (like compass) accessible in the user's $PATH.
safe-kubectl - Add some safety when running kubectl by warning what context you're in after a definable number of seconds since the last kubectl command.
safe-rm - Add safe-rm functionality so that rm will put files in your OS' trash instead of permanently deleting them.
saml2aws-auto - When using multiple AWS profiles, e.g. different accounts for your stages (development, pre-prod, prod), can be used to determine which profile is currently exported and if the token is still valid.
sandboxd - Speed up your .zshrc & shell startup with lazy-loading by only running setup commands (e.g. eval "$(rbenv init -)", etc) when you need them.
sed-sub - Adds keybindings to do global search and replace on current command line.
select - Multi-term searched selection list with approximate matching and uniq mode.
select-with-lf - Lets user select files or a directory using lf.
send - Single command to git add, git commit, and git push for much faster git workflow.
sensei-git - Adds many git aliases and helper shell functions.
senv - Report presence of sensitive environment variables in the prompt
session-sauce - An fzf interface for tmux session creation and management for all your projects.
setenv - Runs a script when you change directories.
setpath - Adds some local paths to your fpath and $PATH.
shelf - Utility which can be used to bookmark and access directly any file using mnemonics.
shell-fns - Includes git, neovim, npm, pip extended functionality.
shellfirm - Shellfirm is a handy utility to help avoid running dangerous commands without an extra step of approval. When risky patterns is detected you will immediately get a small prompt challenge that will verify your action.
shift-select - Emacs shift-select mode for ZSH - select text in the command line using Shift, as in many text editors, browsers and other GUI programs.
show-git-user - When you need to work with multiple git users on the same machine this plugin will show which git user name is active in your prompt.
show-path - Provides a function shows the $PATH line by line.
simpleserver - Plugin to easily start python SimpleHTTPServer and SimpleHTTPSServer.
singularityenv - Provides a singularityenv_prompt_info function which returns the current singularity environment name
skaffold - ZSH integration and completions for skaffold local kubernetes development environment.
skim (casonadams) - Tries to determine where skim is installed, then enables its fuzzy auto-completion and key bindings.
solarized-man - A modified version of oh-my-zsh's plugin colored-man-pages, optimized for the solarized dark theme in the terminal.
spaceship-ocm - Queries your OpenShift Cluster Manager (ocm) configuration to show which environment you're connected to. Requires NerdFont in your terminal.
spack - Includes some useful aliases and functions for loading/unloading Spack-generated modules. As it makes use of the module command it is much more efficient than spack load.
statify - Plugin that does basic statistical analysis.
sublime - Same as the official Sublime plugin for Oh My Zsh, but this opens files in the current Sublime window, if there is one already open.
sudo (hcgraf) - The sudo plugin from oh-my-zsh, extracted to a standalone. Toggles sudo before the current/previous command by pressing *ESC-ESC- in emacs-mode or vi-command mode.
sudo (none9632) - Adds sudo as a prefix to the current command by typing ESC-ESC.
suffix-alias - Directly open files in the shell using ZSH's suffix aliases.
sys-diver - A ZSH plugin for directory change or editor startup with only key operations using widgets without typing commands.
sysadmin-util - Steve Kemp's collection of tool scripts for sysadmins.
system-clipboard - Adds key bindings support for ZLE (Zsh Line Editor) clipboard operations for vi emulation keymaps. It works under Linux, macOS and Android (via Termux).
uncloudium - Adds helper script to download crx files from the Google Chrome web store.
undollar - Strips the dollar sign from the beginning of the terminal prompt.
unique-id - Provides a unique number that identifies a running Zshell session, in its shell variable $ZUID_ID. Besides this unique number, also a unique codename is provided, in shell variable $ZUID_CODENAME. An example use case is to hold logs in files .../mylog-${ZUID_CODENAME}.log, so that two different Zshells will not write to the same file at the same time.
unix-simple - A command that shows a graphic about the simplicity of unix.
unwrap - Allows you to remove a directory without removing the contents - it puts them in the directory's parent directory.
up (cjayross) - A simple way to navigate up through directories.
up-dir - Binds ctrl-h to navigating up a directory. This makes it very easy to go up a few directories without having to type any commands.
update-zsh - Updates custom oh-my-zsh plugins. Only works with the oh-my-zsh framework.
url-highlighter - A plugin for the ZSH syntax highlighter that turns URLs green if they respond with a "good" status, and red otherwise. Useful for checking URL typos.
uvenv - Extends the functionality of the original oh-my-zshvenv module.
vagrant-box-wrapper - A wrapper plugin for vagrant that allows for calling vagrant commands from outside of the box directory. The plugin also ships with a few extra commands that help to manage more than one box, along with custom tab-completion.
valet - Reads .valetphprc from the project root and will switch to that PHP version automatically.
vanilli.sh - A lightweight start point of shell configuration.
vapor - Laravel vapor plugin for ZSH to help you to run vapor from anywhere in the project tree, with auto-completion!
vcshr - Help vcsh users require GitHub repositories using vcsh for auto-installation in ~/.zshrc, etc.
velocity - Powerline-based theme elements for ZSH and tmux.
venv-lite - A super-lightweight sort-of-clone of virtualenvwrapper; it pretty much expects you to be using pyenv (though you don't *have- to), and because it's based on the venv module, (creation) only works for python >= 3.3.
venv-wrapper - Provides ZSH functions to ease the management of your virtual environments using venv.
vox - An oh-my-zsh plugin to control VOX, a lightweight full-featured audio player for macOS that can play a variety of formats including FLAC and Ogg Vorbis.
wd - Warp directory lets you jump to custom directories in ZSH, without using cd. Why? Because cd seems inefficient when the folder is frequently visited or has a long path.
web-search (anant-mishra1729) - Adds aliases for searching with Google, Bing, Wiki, YouTube, Yahoo, Duck Duck Go, GitHub, Stack Overflow and other services straight from the command line.
web-search (sinetoami) - Add commands to run bing, google, yahoo, & duckduckgo searches directly from the CLI.
web-search (yabanahano) - Adds aliases for searching with Google, Wiki, Bing, YouTube and other popular services.
which-jspm - Adds npm, yarn or pnpm to the end of your prompt depending on what lockfile(s) it detects in the current directory.
whobrokemycode - Highlight where a particular line was last changed in a file using git blame.
window-title - Adds informative tiles to your terminal windows.
windows-title - Dynamically updates terminal window title with current directory and the last command run.
yup - Adds helper function to upgrade all the dependencies in a yarn/npm project.
z.lua - A command line tool which helps you navigate faster by learning your habits. An alternative to z.sh with Windows and posix shells support and various improvements. 10x faster than fasd and autojump, 3x faster than z.sh.
zabb - zabb is a command that tries to figure out the shortest memorable abbreviation of a directory that is usable by z to unambiguously jump to that directory.
zbrowse - When doing shell work, it is often the case that echo $variable is invoked multiple times, to check the result of a loop, etc. With ZBrowse, you just need to press Ctrl-B, which invokes the ZBrowse – Zshell variable browser.
zce - Vim's EasyMotion / Emacs's ace-jump-mode for ZSH.
zcolors - Uses your $LS_COLORS to generate a coherent theme for Git and your Zsh prompt, completions and ZSH syntax highlighting.
zconvey - Adds ability to send commands to other ZSH sessions, you can use this to cd $PWD on all active ZSH sessions, for example.
zed - A simple wrapper for z to install it via a ZSH plugin.
zimfw-extras - Custom extras for zimfw, packaged into a zimfw plugin.
zinfo_line - Makes more information available to ZSH themes.
zinit-annex-bin-gem-node - zinit extension that exposes binaries without altering $PATH, installs Ruby gems and Node modules and easily exposes their binaries, and updates the gems and modules when the associated plugin or snippet is updated.
zinit-annex-patch-dl - zinit extension that downloads files and applies patches through the provided dl and patch zinit ices.
zinit-annex-readurl - Adds function to automatically download the newest version of a file to which URL is hosted on a webpage.
zinit-annex-rust - zinit extension that that installs rust and cargo packages inside plugin directories.
zinit-annex-submods - zinit extension that allows installing and managing additional submodules within a plugin or snippet.
zinit-annex-test - zinit extension that runs tests (via make test, for example) – if it finds any of them – after installing and updating a plugin or snippet.
zinit-annex-unscope - Allows installing plugins for zinit without specifying the user name by querying the Github API.
zinit-console - A semigraphical (curses) consolette for the zinit plugin manager.
znotify - A simple plugin for sending notifications to other services.
znvm - A Node.js version manager for ZSH similar to nvm.sh but faster.
zoo - Casual theme with animal emoji. Includes decorators for current directory, time and git status.
zoxide - A fast alternative to cd that learns your habits.
zplug-blame - A zplug-specific plugin that displays how long each of your plugins took to load.
zpy - Manage Python Environments, dependencies, and isolated app installations, with a ZSH frontend to pip-tools.
zredis-cmd - Utilizes variable sharing done by zredis plugin to implement remote command execution.
zredis - Adds Redis database support, with database_key <-> shell_variable binding. Supports all data types.
zservice-py3http - Serve a given directory with Python 3's http server from the standard library.
zsh-in-docker - Automates ZSH + oh-my-zsh installation into development containers. Works with Alpine, Ubuntu, Debian, CentOS or Amazon Linux.
zsh-not-vim - Provides a function that automatically shames the user for forgetting they weren't in vim.
zsh-select - Displays a selection list. It is similar to selecta, but uses the curses library to do display, and when compared to fzf, the main difference is approximate matching instead of fuzzy matching.
zsh-watch - Simple watch that supports alias and completion.
zsh-z (agkozak) - Jump quickly to directories that you have visited "frecently." A native ZSH port of z.sh - without awk, sed, sort, or date.
zshmarks - A port of Bashmarks (by Todd Werth), a simple command line bookmarking plugin, for oh-my-zsh.
zshrc - Load local .zshrc files from your project scopes.
zshrpg - A wrapper that fully integrates rpg-cli with zsh!
zsnapac - Plugin for taking ZFS pre/post upgrade snapshots on Arch Linux.
zsnapshot - Adds command to dump the current ZSH state into a file, for later restoration by sourcing the snapshot file.
ztouch - Adds touchbar controls for recent history commands, directory stack, cycling between modes and user-mappable commands to the touchbar on macOS.
ztrace - Catches output of commands, allows to reuse that output, glue it with history content.
zui - ZSH User Interface library – CGI+DHTML-like rapid TUI application development with ZSH.)
zypper-short - Plugin for OpenSuse Tumbleweed's package manager, zypper.
Completions
These plugins add tab completions without adding extra functions or aliases.
1password-op - Loads autocompletions for 1Password's op command line tool.
_url-httplink - Extends ZSH's _urls completion, allowing it to complete urls from html pages.
carapace - Completion generator for Bash, Elvish, Fish, Oil, Powershell, Xonsh and ZSH. Note - this does not automatically generate completions as needed, you have to explicitly run it to generate completions for a command.
cargo - All the functionality of the original oh-my-zsh cargo completion, with additional support for remote crates via cargo search in cargo add.
carthage - Provides completions and aliases for use with Carthage.
cpan - Adds cpan install word<tab> and cpanm install <tab> to complete remote CPAN package names.
cross-compiler - In cross compilations, there are many tools like x86_64-w64-mingw32-gcc, x86_64-linux-android32-clang, arm-none-eabi-gcc, etc. This plugin provides zsh completions for them.
inshellisense - Provides IDE style autocomplete for shells. It's a terminal native runtime for autocomplete which has support for 600+ command line tools. inshellisense supports bash, fish, zsh and pwsh on the Windows, Linux, & MacOS operating systems.
mac - Completions files for macOS specific commands and third party tools.
mcfly - Replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network.
mx-honey - Provides completions for mx; a command-line tool used for the development of Graal projects. It's meant to improve the usual workflow build unittest benchmark ... ease discovery and provide handy aliases.
myincr - Speeds up pasting with autosuggest and incr.
symfony-complete - Universal completion for Symfony based CLI applications: composer, php-cs-fix, bin/console, artisan, php-cs-fixer and etc. This supports autocompletion for subcommands and GNU-style options (--help)
web-open - Adds alias to open web pages. Only works with Ubuntu 20.
wsl-notify - Uses wsl-notify-send to notify when a command takes longer than 15 seconds. Windows-only.
xcode - Completions for some Xcode command line tools - genstrings, nm, plutil, xcode-select, xcodebuild, xcrun, simctl, strings, swift-demangle, swift and lipo.
yabai - Add completions for macOS yabai tiling window manager.
zargparse - Pass it a script that uses argparse and it will write a ZSH completion to your current directory.
Themes
If you're using Antigen, you can test these themes in a running ZSH with antigen theme githubuser/repo. If you're using zgenom, add them to your init.zsh with zgenom load githubuser/reponame.
021011 - Minimalist. Includes a single git marker for VS Code.
0i0 - Optimized for dark terminal windows, uses nerdfont git status decorations.
14degree - Includes git, virtualenv and rvm status decorations.
a - Simple theme with current directory and git status decorations.
abbr (theme) - Displays an abbreviated version of the current directory path, shows the Python virtualenv, Rust version, git status, and the exit code of last command. Works well on dark backgrounds by default but colors can be easily customized.
abhiyan - Segmented prompt. Includes decorators for git branch, staged file count, unstaged file count & untracked file count, username, current working directory and the time. Requires Powerline-compatible fonts.
absolute - Very clean looking theme with decorators for git status, node version and the exit code from the last command.
acenoster - A multi-purpose theme with very detailed git and mercurial support. Also includes decorators for AWS profile name, virtual environment name if any, number of background tasks, current directory and previous command's exit code if non-zero.
adamdodev - Includes decorators for git status, the name of your AWS profile, the name of your Azure Service Principal, kubernetes context, terraform workspace, last command exit status and current working directory.
adlee - macOS theme, requires a Powerline-compatible font.
agkozak - Uses three asynchronous methods to keep the ZSH prompt responsive while displaying the git status and indicators of SSH connection, exit codes, and vi mode, along with an abbreviated, PROMPT_DIRTRIM-style path. Very customizable. Asynchronous even on Cygwin and MSYS2.
agnoster-gentoo - A Gentoo flavored version of the Agnoster ZSH Theme that includes user@hostname and git status decorations. Works better with a unicode font.
agnoster-j - Optimized for solarized color scheme, git or other VCS tools, and unicode-compatible fonts. Includes decorators for status of last command run, user@hostname, git status, working directory, whether running as root, whether background jobs are running, and other information.
agnoster-multiline - Based on Agnoster. Includes decorators for current directory and git status. Requires a font with powerline and git glyphs. Automatically disables non-ascii glyphs on linux ttys.
agnoster-repopath - Based on Agnoster and Passion themes. Includes git and mercurial status, current time and time the last command took decorations in the prompt.
agnoster - Optimized for solarized terminal color schemes, shows git decorations, user@host, working directory, the previous command's exit status and whether you are running with root privileges. Requires a Powerline-compatible font.
agnosterzak - Based on Agnoster, shows battery life, date & time, git status, current directory and user & host information.
ai-hayasaka - Minimalist theme with git status, ruby env and python virtualenv decorators.
aifrim - Minimalist theme with decorators for git status, truncated current directory, and package versions for JavaScript, rust and golang.
air - Minimalist theme with git status decorations.
akzsh - Works best with a dark terminal theme, includes git decorations.
al-magic - Clone of the oh-my-zsh af-magic theme with the time added at the right of the prompt.
alarangeiras - Minimalist theme with git status decorations.
ale - Based on the fino theme. Includes git, virtualenv and node status decorations.
alesrosina - Includes decorators for git information, current directory and the last command's return status.
alien-minimal - Minimalist ZSH theme with git status displayed.
alien - Powerline-esque ZSH theme that shows git decorations and the exit code of the last command. Faster than many other prompts because it determines the git decorations asynchronously in a background process.
almel - Inspired by agnoster, written in Rust. Includes git status, user@host, last command exit status and working directory decorations
alp - A simple theme with decorations for current directory, root status, username and host.
amoyly - An elegant and comfortable-reading theme based on Agnoster.
amplify - Minimalist, includes AWS Amplify envioronment and git status decorations.- andy - Modified bira theme with better git support.
antoinechab - Includes git status, username, time and current directory decorations.
antsy - Shows git branch and status decorations, virtualenv, exit status, jobs count, and vi-mode indicator.
aofxta - Includes decorators for last command's execution time, git information, current directory and current time.
aperiodic - Shows git decorations, user, host, whether root, active Python virtual environment, current Ruby interpreter, visual and numeric status of the last command, power management status and time and date.
aphrodite - Minimalistic theme without visual noise. Displays only the necessary information: current user, hostname, working directory, git branch if one exists. Looks great both with dark and white terminals.
aplos - Minimal ZSH prompt with working directory, git local info, git remote info, time and exit code.
apollo - A heavily customizable, compatible and performant ZSH theme that uses modules to enable features.
apple (aramirol) - Based on robbyrussell, includes vcs status decorations. Colors customizable by setting vars in your .zshrc.
astral (skippyr) - Dual line theme with decorators for user@hostname, current directory, python virtual environment and git information.
astral (xwmx) - Theme for dark backgrounds with zen mode. Works well with the zsh-users zsh-syntax-highlighting plugin. Includes decorators for execution time of last command, when it was run, its exit status, machine name, current path, ssh status, and git status.
async - Shows current directory, git state, return value of last command if it had an error code, number of background jobs, execution time of long-running commands, current python virtualenv.
aterminal - Displays Node.js, NPM, Docker, Go, Python, Elixir and Ruby information in the prompt.
aub - Includes decorations for git and hg status and username at host.
australis - Lightweight theme with decorators for git information and current directory. Requires git plugin from oh-my-zsh.
avit-d2k - Based on the oh-my-zsh avit theme, with small changes.
avit-mod - Modified version of oh-my-zsh's avit theme.
avoleo - Features a date and time prompt for each command, as well as a command number in history. In addition, it uses special symbols '⠾' and '⡶' to display git information if applicable in the current path. It also supports custom colors based on the Gnome-Terminal default color palette.
aws - Based on robbyrussell, with an extra decorator to show your $AWS_PROFILE when it is set.
backbone - A bare minimum single file prompt, fast as a roadrunner MEEP! MEEP. Includes git status and current directory decorations.
banana - Includes git status decorations and current directory.
bashlover - Designed for those who appreciate the powerful features of ZSH shell but still prefer a simple, classic interface similar to the bash shell. Includes decorators for git information, user@host and the current working directory
bashplus - Colorized replica of the default bash prompt with decorators for virtualenv and git status.
bearable - Works well with dark terminal backgrounds.
bearings - A fast, clean, super-customizable shell prompt. Includes decorators for current directory, git status, exit code of last command, duration of last command, background jobs & username.
bedbugs - Inspired by Agnoster, this multiline prompt includes git status information, background job count, working directory, user and hostname, Python virtualenv when present, colored return value of last command and root/user sigil.
biraSkull - Based on bira, includes root status and git status decorations.
bira - Fork of Oh-My-ZSH bira theme. Includes decorators for working directory, username@host, git status information, Python venv and a status code when the last command had an error.
bliss - A delicate theme that injects color without overwhelming your workspace. Designed to be used with the bliss iTerm color scheme and bliss dircolors. Includes git status decorations.
blokkzh - Theme based on oh-my-zsh's built in gnzh theme. Requires a font with unicode support.
blox - A minimal and fast ZSH theme that shows you what you need. It consists of blocks: each block is shown inside a pair of [square brackets], and you can add blocks by simply creating a function.
bouni - Includes decorators for user@host, current directory, active python virtualenv, and git status.
boxy - Works well with solarized terminal colors. Includes decorators for username@hostname, current directory, git status, return code for last command, and time last command was run.
bref - A simple prompt. It includes decorators to display git status asynchronously, a notification if the ssh session is remote, the battery level and the number of background jobs.
brisa - Multiline theme based on fino-time. Includes decorations for username, host, current directory, and git status.
bronze - A cross-shell customizable powerline-like prompt with icons written in go. Requires nerd-fonts.
brs - Displays the current song in the prompt with audtool.
bttf-color - BTTF color theme. Includes git status decorations.
bubblegum - Minimalist bright pink theme with a triangular glyph and your working directory, nothing else—leaving you with the cleanest shell possible.
bureau - A clear and informative two-lined prompt. Includes git status optimized for large repositories.
buster - Plays well with WSL2. Based loosely on Fox and Jonathan themes from oh-my-zsh.
cactus - Minimalist theme with git status decorations.
calma - Minimalist theme that works well on dark backgrounds. Includes decorators for truncated current directory, git information, time, and for the exit status of last command.
cayun - Shows active Python version and git decorations in the prompt.
celestialorb - Powerline-inspired theme by @celestialorb. Includes git status decorations, Kubernetes cluster information (if any), current AWS profile and region, and active virtualenv.
cf-ps1 - Displays the current foundation and organization and space of Cloud Foundry in your prompt.
chaffee - Based on sorin. Shows the current active versions of Java, Scala, Go, Node, Python and Ruby.
chaos - Inspired by dogenpunk and smt themes, optimized for git users and Python developers. Includes decorators for git status, python virtual environment, background jobs, error status of last command, user@hostname and current directory. Requires a font with emoji.
chaotic-beef - A tiny and beautiful theme for Oh-My-Zsh without anything superfluous. Includes git status decorations.
charged - A ZSH prompt optimized for the solarized dark terminal theme.
checkmate - Decorated with chess pieces. Includes decorators for python venv, current directory, git status and whether you're running as root. Requires a Nerd Font.
cheeky - Includes chicken emoji, decorators for current directory, git information and current GCP cluster and project.
chi - A ZSH theme optimized for iTerm 2 users on macOS.
chill - Has decorations for the current working directory, last command exit status and git status.
chinatown - Powerline-esque theme with decorators for the exit status of the last command run, user@hostname, virtual environments and current directory. Requires a nerdfont font.
chinipage - Minimalist theme that includes git decorations. Requires powerline-compatible fonts and the git-prompt plugin.
chrisandrew.cl - Includes git decorations. Requires a powerline-compatible terminal font.
cinnabar - Shows timestamp, large line breaks, git branch and status.
clarity - Designed for for simpleness and extensibility.
classyTouchName - Inspired by classyTouch. Works better with dark backgrounds. Includes git status decorations.
classyTouch - Minimal, clean theme with git support.
common - A simple, clean and minimal prompt, displays current working directory, hostname, AWS vault role, background jobs, current SHA, exit code of last command, and git branch and status.
comxtohr - Brightly colored theme optimized for dark backgrounds.
coolmelon - Includes decorators for user@host, time, current directory, node version and git information.
cordial - Clean and effective ZSH theme with git and npm support.
cr - Includes directory, time, host name, last command exit status, and git status decorations.
cramin - Minimal interface with support for GitHub plugins, based on hyperzsh.
cravend - Includes hostname decorator (only in active ssh sessions) and git status decorations.
croque - Powerline-inspired theme with decorators for OS, user@host, git information, git username, current directory and exit status of last command.
cryo-long - Variant of cryo with added decorators for hostname and current directory.
cryo - A standalone clone of the original oh-my-zsh theme with date and time added.
crème fraîche - Works best with light terminal backgrounds, includes git and vi-mode status decorations.
cute - A macOS oh-my-zsh shell theme with cute emoji based on the Powerline Vim plugin.
cxzh - Works well on dark background, has git status decorations.
cybensis - Based on af-magic. Includes decorators for git information, hg information, and python virtualenv.
cypher-ruby - Similar to cypher but includes the active Ruby version.
daivasmara - Chill theme with decorators for current directory (truncated if necessary) and git information, including time since last commit.
damino - Minimal powerline-esque theme with git decorations.
dangerroom - Informative, minimal, and, above all, X-Men themed. Includes decorators for git status, working directory, parent directory and vim mode.
dango - Includes decorations for current directory and git status.
danielparks - Works well on dark backgrounds. Includes decorators for git status, user@host when in an ssh session, success/failure of last command, working directory, python virtualenv, execution time of last command and whether running as root.
daniloheraclio - Inspired by the robbyrussell theme. Has git and last command exit status decorations. Requires a nerdfont to render properly.
dark-modern - Includes decorators for git status and current directory.
darkblood-modular - This version of the popular darkblood theme has been enhanced with a near complete rewrite enabling modularity and a few new features.
dtheme - Optimized for people using a solarized terminal color scheme and git. Works best with a unicode font.
duckster - A fork of the gitster ZSH theme that's more ducky fresh.
ducula - Inspired by Dracula project. Includes git status decorations, username and hostname abbreviations, virtual environment, current working directory, return status of last command and the time.
dustmod - Derived from the dst theme in oh-my-zsh.
dyzsh - Based on astro. Includes decorators for git branch & hash, current directory, user, host & time.
dzhi - Optimized for people using Nord. Includes git status decorations.
easytocloud - Based on agnoster. Includes decorators for AWS environment, git status, username and the current directory.
eckig - Minimalist theme with utf-8 icons. Includes git status decorations and a clock.
efritas - Includes username, hostname, venv, rvm and git status decorations.
eggshausted - A git-aware theme for people who are tired of getting errors.
elagoht - Includes decorators for user@hostname, current directory, virtual environment, git status, whether it is running in an ssh session, and the execution time of the last command.
elessar - A git-aware theme based on gitster. Requires a Powerline-compatible font.
elm - Includes git status, user@host, date, time and path decorators.
elsa - Includes root status, pwd and git status decorations.
emoji - Based on the robbyrussell oh-my-zsh theme with the git prompt symbols replaced with emoji for better clarity.
emojirussell - Based on robbyrussell oh-my-zsh theme, with status decorations for current working directory, last command exit status, git branch and status.
endless-dog - oh-my-zsh-compatible theme that mimics grml-zsh-config.
enlightenment - Includes decorations for git status, vi-mode indicator, and the time for last command to execute.
enormous - Takes up an enormous amount of space in the terminal.
erfan - Combination of the of af-magic and macovsky themes. Includes git and virtualenv status decorations.
eriner - A Zim fork of the Powerline-inspired agnoster prompt theme. Includes git status decorations.
escape - Includes decorators for git information, username, time, current directory and last command exit status.
eucalyptus - Simple one-line theme for minimalist vi-mode users inspired by agnoster and powerlevel9k. Includes git status indicator, vi-mode indicator, current directory and current path.
firefoxic - Fork of Bureau with tweaks to the node and git decorators.
fish - ZSH theme reminiscent of the default fish shell theme. Includes git status decorations.
fishy-lite - Fork of the original fishy theme in oh-my-zsh with much of the extraneous stuff cut out to improve load speeds. Includes a battery gauge and git status display that can be enabled on the right-hand side of the prompt.
fluent-git - Displays time of last command execution, error code, hostname, username, git status, kubernetes cluster and namespace, path and ssh connection status.
flux - A no-nonsense minimalist theme with git status decorations.
fortuity - Includes status of last command, git information and current directory.
frank - Frank keeps to the point, displaying information compactly but readably on a single line. Frank keeps to the facts and only tells you extra things when they are important.
frisk-red - Red version of the frisk theme from oh-my-zsh.
fritz - Works well on dark backgrounds. Includes git status decorations.
frlo - Uses your computer's hostname to come up with a (hopefully) unique three-color theme to display in your prompt, so you know at a glance which machine you're logged into.
funkyberlin - A colorful two-line theme with support for git and svn.
furio - Fork of the Cloud oh-my-zsh theme. with different colors and emojis.
furry-umbrella - Colorful theme, works better on a dark background.
gaia - Originally a fork of Bureau adds new virtual environments info to the prompt: Kubernetes, virtualenv, rbenv and Java versions. Includes git status integration.
gbt - Go Bullet Train is a very customizable prompt builder inspired by Bullet Train and oh-my-zsh that runs much faster. Includes many different status cars. Includes a prompt-forwarding feature than enables the user to forward their user-defined prompt to a remote machine and have the same-looking prompt across all machines via SSH but also in Docker, Kubectl, Vagrant, MySQL or in Screen without the need to install anything remotely.
gentoo - Breaks out the oh-my-zsh gentoo theme into a separate repository for non-omz users.
geometry - A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.
gerry - Based on bureau, includes decorations for git status, current time, username, hostname and current directory.
ghoti - Mimics the fish-shell default prompt. Includes git decorations.
gianu-alternative - An alternative to OMZ Gianu that changes prompt based on privilege. Includes git status and current directory decorators.
gideon - Inspired by avit, includes git decorations, IP address, host and path.
gimbo - A variant of purepower with more features, a little eye candy and context-sensitive extra lines. Includes git status decorations, history number, username/hostname context, directory status, status of last command if it failed, and the Python virtualenv name if present.
gimme - A simplistic theme for ZSH with git integration. Inspired by the gitsome theme.
girazz - A modification to the gnzh theme which adds vi mode to the right prompt.
git-prompt (olivierverdier) - Displays information about the current git repository. In particular the branch name, difference with remote branch, number of files staged or changed, etc.
git-prompt (woefe) - A fast, customizable, pure-shell, asynchronous git-aware prompt for ZSH heavily inspired by Olivier Verdier's zsh-git-prompt and very similar to the "Informative VCS" prompt of fish shell.
git-prompt-kit - A configurable set of components for creating feature rich, high performance Git-aware zsh prompts (aka themes) with minimal coding.
git-simple - Simple theme that includes detailed git status decorations.
gitbash - Mimics the default prompt from Git for Windows. Includes git status, user@host and current directory decorators.
github - A GitHub-inspired theme. Shows decorators for (truncated) current directory, hostname and git status. Includes both light and dark modes and detects system settings for that on macOS and Linux.
gitneko - Has a neko (^>ω<^) prompt with git status information.
gitsome - Super simple prompt with git info, optimized for the Flat Terminal color scheme.
gitstatus - Shows command and git status decorations.
gitster (shashankmehta) - When in a git repo, it shows the location from the git repository root folder. When not in a git repo, it shows the path relative to home, ~.
gocilla - Theme for iTerm 2 and ZSH. Uncludes git status, user@host, path and date decorators.
goprompt - Lightning fast. Includes decorators for truncated current directory, last command duration & exit status, vim-mode indicators, git information, datetime and parent process name.
gops - Fast powerline-like prompt. Includes git status, current directory, root status decorations.
hana-matcha - A simple theme with the first character being 花(hana), the kanji for flower. This theme was inspired by a keycap set called DSA Hana. This pairs well with the hana atom theme. Includes git status decorations.
handy - Colorful and lightweight theme. Shows root status, git status, current directory and user@hostname decorations.
hanpen - Shows git branch and status, last command exit code, last command execution time if more than ZSH_THEME_HANPEN_CMD_MAX_EXEC_TIME.
hapin - Based on oxide, includes git status decorations and current user/host information.
happy-coding - Stripped down version of passion. Includes decorators for time, git branch, last command execution time and last command exit status.
hcompact - Displays time, OS (including distro if on Linux), directory and whether running as root.
headline - A responsive ZSH theme featuring Git status information and a colored line above the prompt.
heapbytes - Includes decorators for current directory, tun0 ip if on a VPN, wlan ip when not on VPN and git information.
heart - Heart themed prompt for light backgrounds.
hedroed-bureau - Based on bureau, with added git status decorations and npm status.
helb - Loosely based on Gentoo's old bash theme. Includes git information, return value of last command, and uses different username color and prompt char for users ($) and root (#).
hematite - Minimalist promot that tries to show only the status decorations that are actively useful at a given time.
hermit - Clean and efficient theme with decorators for git status, current directory, and exit status of last command run.
hex - Heavily based on bira, and gruvbox, which in turn is based on agnoster. Includes decorators for current directory, git status information, active python virtualenv, exit status of the last command run. Requires a Powerline-compatible font.
ho-my-zsh - Includes decorators for current directory and git information.
hoffish - If the agnoster theme and fish shell had a ZSH theme for a child. Includes decorators for git status, trimmed path to current directory, root status, exit status of the last command run and the active python virtualenv. Requires a Powerline font and the zsh-autosuggestions and shrink-path plugins.
hogbal - Works best with a dark background and a 256 color terminal program. Includes decorators for virtualenv, git information, username@hostname and current directory.
home - Pretty and short one-line theme that makes you feel at home.
hometown - A feature rich, high performance git-aware ZSH theme with segments for the user, host, time, the current working directory and its parent, and detailed full Git status within a Git repo.
honukai-iterm - Honukai theme and colors for oh-my-zsh and iTerm 2.
hoozeeth - Minimalist theme, includes decorators for user@hostname, the date & time, and the current working directory.
horizontal - Two line prompt with a horizontal separator.
hornix - Displays time & date, OS (including distro if on Linux), directory and whether running as root.
jerome - Colorful theme based on the dieter theme, but with a yellow hostname. Includes git decorations.
jhleeeme - Includes git and python virtualenv status decorations, user, pwd,time and system name.
jnooree - Minimalist theme with colors adapted from the robbyrussell theme. Includes decorators for git status, whether running as non-default user and current working directory.
joje - Includes decorators for git status and current directory.
kalsowerus - Colorful powerline-inspired multi-line theme, includes decorations for git status, directory, last command exit status and nvm information.
kinda-fishy - Based on Fishy theme, but shows full paths instead of abbreviated directories and only shows user@machine in ssh sessions and docker containers.
kirkdawson - Powerline-inspired. Includes prompt decorations for git status, last command exit status, user@hostname, working directory and whether the user is running as root.
kiss - Simple theme for oh-my-zsh, VSCode, iTerm2, Neovim, and RStudio. Includes git status decorations.
kketcham - Theme with nifty colors on the git info.
korittg - Minimalistic but informative. Includes decorations for git status, current directory and the kubectl context and namespace.
kote - Best for dark backgrounds. Includes git status decorations.
kotterstep - Two line theme designed for dark terminals, has git decorations.
krak3n - Shows golang version and the current git branch.
kw - Colorful theme with git and hg status information, ability to add host-specific colors to hostname.
kyuu - A simple theme with the first character being 九(kyuu), the number 9. The primary color is blue with a magenta accent. Includes git status decorations.
laconic - Simple theme with git status and current directory decorators.
linuxero - Minimalist. Includes decorations for root status, current directory, git status, current ruby rvm environment and current python virtualenv.
liquidprompt - A full-featured & carefully designed adaptive prompt with useful information when you need it. It shows you what you need when you need it. You will notice what changes when it changes, saving time and frustration.
lish - A casual theme. No roughness, just smooth. Includes git, user@host, last command exit status, current directory, current time and root status decorators.
liver - Colorful, includes git status, user, host, current and relative path to the current repository root decorations.
llama - Minimalist theme used by discerning llamas.
logico - Has git decorations. Shows remote status and indicator for vi-mode.
lone-star - Texas-themed theme based on Sindre Sorhus' pure theme.
longsilvern - Includes git and compact pwd decorations.
lorond - Compact version of af-magic. Includes git status, works with standard fonts.
lperezp - Includes decorators for user@hostname, git status, current directory and the exit status of the last command run.
lpha3cho - Modified version of the intheloop theme for pentesters which includes the date, time, and IP address for pentest logging.
luceast - Optimized for git. Includes decorations for username, host, time & working directory.
ludvig - Includes decorators for git status, current directory, current time and the last command's exit status.
ludwigws - Variant of lambda-mod theme. Has git decorations, requires a powerline-compatible terminal font.
luke - Includes git decorations. Based on the frisk oh-my-zsh theme.
lukerandall-extended - Extended version of the lukerandall theme. Includes decorations for git status and the status of the last command run.
magicmace - Inspired by xero's ZSH prompt and eriner's prompt. Includes status codes for active python venv, exit status of last command, shortened working directory, git status decorations.
magpie - Minimalist theme with custom logic to display paths relative to the root of the current git. Includes decorators for time, current directory, username@hostname and git status.
mainnika - Includes decorators for last command exit status and the 1, 5 and 15 minute load averages.
maivana - Includes kubectl context, git status decorations.
majemoji - Adds a random emoji to each session's prompt. Includes git status decorations.
malev - Has minimalist and normal variants. Includes decorators for hostname, directory, git status and the last command's exit status.
mantis - Minimal theme with git status and information decorators.
materialshell - A material design theme for your shell with a good contrast and color pops at the important parts. Designed to be easy on the eyes.
matrix - Variant of powerlevel9k styled to look like something in the Matrix movie trilogy. Includes git status decorations.
matter - Shows git status, AWS vault role, background jobs, exit code of last command & hostname.
mau - A ZSH theme with a cat twist. Includes git status decorations. Based on the kphoen and smt themes.
mbolis - Includes git decorations, changes prompt color if root user, active jobs, and jenv integration.
meganerd - Inspired by jonathan. Includes decorators for git status, user@hostname, current directory, time and the last command's exit status.
megaprompt - A maximalist prompt including keyboard mode, ownership info, and other contextual info, with λ as the prompt character. Requires the hooks plugin.
metalmajor - Includes git status decorations, shows exit code of last command if nonzero.
mexassi - Checks the /sys/class/power_supply folders to determine if the system is installed on a laptop or desktop machine. Reads the battery percentage grepping acpi command and displays it in the prompt. Includes git decorations.
mira - A modified bira with time info and a simplified start prompt.
mirage - Includes prompt decorations for git status, last command exit code, whether sudo timestamp file is present and current active Python virtual environment.
moux - Works well with a dark terminal background, includes git decorations in RPROMPT.
msys2 - Inspired by MSYS2. Includes decorators for user@host, git status and the current directory.
multi-shell-repo-prompt - Provides useful information (in your prompt) about the repository that you are in. It currently works for Git and Mercurial, under ZSH as well as bash.
mzt - Sets up LS_COLORS, colorizes diff and includes git status and current working directory decorations.
nablaman - Similar to powerlevel10k. Includes decorators for the last command's exit status, user@hostname, git status and the current directory. Works best with a dark terminal theme.
nanika - Optimized variant of robbyrussell. Includes git status decorations.
nanofish - Adds fish-style directory prompt to nanotech theme.
nbrylevv - Minimalist theme with text git status decorations.
nctu - Lightweight theme with an emphasis on speed. Includes git status decorations.
nerdps1 - Reminiscent of powerline. Requires a nerdfont. Includes decorators for user@hostname, git information, truncated current directory, python virtualenv, exit status of last command run and the time.
nescalante - Optimized for dark terminal backgrounds, includes git decorations.
neurosimple - Includes git decorations and vi-mode indicator.
newt - Fat & fast theme – beautiful inside and out, styled segments done right. Extremely customizable, includes git, username, execution time, directory, background jobs and edit mode decorations.
newton - Includes git status and external IP address decorations.
nextbike - A very basic theme which just features an macOS bike icon.
nidoranarion - Colorful, shows git status decorations.
nikitakot - Small and simple oh-my-zsh theme. Shows current directory and 2 directories behind, git and nodejs status decorations.
nmaxcom - Minimalist ZSH theme with git status decorations.
node - oh-my-zsh's Node.js theme, broken out to make it easier to use with other plugin managers.
nodeys - Based on the ys theme, with added Node.js version (from NVM plugin).
noon - Has light and dark variants, shows git information.
nord - Includes git status decorations and displays the active conda environment.
normanius - Derived from bira. Includes decorators for git status, user@host, python virtualenv, and ruby rvm version.
nostalgia - Minimalist theme inspired by Windows CMD prompt. Includes decorators for user@hostname, git status, current directory and python virtualenv.
nothing - Lightning fast and really simple because it has almost nothing in it.
nova - Includes git status decroations. Overrides LS_COLORS and LSCOLORS settings.
nox - Dark theme, displays the current working directory and git status.
nt9 - A clean, distraction free and git focused development theme. Shows path relative to git root (or ~ when outside git repo), time since last commit, current SHA, branch and branch state.
nunorc - Minimalist theme, works well on dark backgrounds. Includes git, mercurial and svn satus decorations.
nuts - Minimalist theme, includes git status decorations and time.
oblong - Simple bash-inspired theme based on gitster and basher. Includes status decorations to show if user is root, the exit status of last command run, git branch and its clean/dirty status.
odie - Works well on a dark background. Includes git status, python virtualenv and vi-mode status decorations.
omuse - Based on Oh-My-ZSH's amuse. Has decorations for git status, time, absolute pwd, RAM usage, time used by last command, and last command exit status.
parrot - Based on Parrot OS bash theme. Includes decorators for user@host, git information, exit status of last command, time and current directory.
passion - Includes decorations for current time, git status, last command run time in milliseconds, and the exit status of the last command. Requires coreutils on macOS.
pastel - A ZSH theme inspired by sugar-free. Includes git decorations.
paxton - Inspired by powerline. Includes segments for git branch, time, last command exit status and current directory. Requires a powerline-compatible font.
pecodez - Optimized for dark terminals. Has decorators for snyk version, node version, AWS profile, kubernetes context and git status.
pedantic - Customizable colors and output. Includes decorators for detailed git information, root status, last command's exit status, user@host, current directory and the time.
persi - Includes git decorations. Works with both light and dark backgrounds.
phalanx - Minimal theme in the spirit of the robbyrussell and Pure Shell themes.
phantomk - Colorful theme, includes golang version, node version and git status.
phi φ - A clean and simple theme for ZSH inspired and forked from the Lambda (Mod) ZSH theme.
pi - A minimalist theme with git status decorations.
piboy - A simple and elegant multi-line theme for ZSH. Includes a colourized timestamp, git & syntax highlighting, and elevated root theme.
pico - Simple prompt modified from zap-prompt with decorators for git information, user@hostname and working directory.
pifabs - Minimal theme with decorators for git status, username, host and working directory.
plain-ui - Minimalist, but includes git status decorations.
plain - A plain and simple theme for ZSH which shows basic git information.
plantyhoe - Minimalist theme based on a love of plants and apples. Includes git status decorations.
platypus - Platypus is a simple and convenient theme for oh-my-zsh used by Frédéric de Villamil.
pog7x - Works with unicode. Includes decorators for git information, current directory, last command exit status & execution time, time, virtualenv, nvm, rvm, rust, go, kubernetes context, and elixir.
pointer - Shows working directory, the return status of the last command, and git current branch.
polyglot - a dynamic prompt for zsh, bash, ksh93, mksh, pdksh, dash, and busybox ash that uses basic ASCII symbols (and color, when possible) to show username, whether it is a local or remote ssh sesssion, abbreviated path, git branch and status, exit status of last command if non-zero, any virtual environment created with virtualenv, venv, pipenv, poetry, or conda.
poor-programmer - Programmer's theme with git status, ruby version and project path.
powerbash - Works well with dark terminal backgrounds, includes git status decorations.
powerless - Tiny & simple pure ZSH prompt inspired by powerline.
powerlevel10k - A fast reimplementation of powerlevel9k ZSH theme. Can be used as a drop-in replacement for powerlevel9k, when given the same configuration options it will generate the same prompt, only faster.
powerline (brucehsu) - A two-line version of powerline: one for information, one for input.
powerline (jeremy) - Another take on a powerline theme. Nicely configurable, but requires at least a 256 color-capable terminal with a powerline-compatible terminal font.
powerline-go - A beautiful and useful low-latency prompt, written in golang. Includes git and hg status decorations, exit status of the last command run, current Python virtualenv, whether you're in a nix shell, and is easy to extend.
powerline-hs - A Powerline clone written in Haskell. It is significantly faster than the original implementation, and makes the shell noticeably more responsive.
powerline-pills - Written in Ruby, uses powerline characters to simulate pills with useful information.
powerline-shell (b-ryan) - Beautiful and useful prompt generator for Bash, ZSH, Fish, and tcsh. Includes git, svn, fossil and hg decorations, Python virtualenv information, and last command exit status.
powerline-shell (banga) - A powerline-like prompt for Bash, ZSH and Fish. Includes decorators for git/svn/hg/fossil branch, last command exit status, shortened path to current directory and the current python virtualenv and is easy to customize/extend.
powerline - A Powerline-like prompt, based on powerline-bash. Displays virtualenv, git status information and the exit code of the last command run.
powermore - Forked from powerless. Simple prompt that shows git status and current directory.
powerzeesh - A Powerline based ZSH theme. It aims for simplicity, showing information only when it's relevant, optimized for speed and look. Inspired by Agnoster and Powerline.
pre - A collection of themes for Sublime Text, Terminal, iTerm 2 and ZSH.
predawn-shell - Theme optimized for dark terminal themes.
prezto_powerline - Powerline for prezto. Shows git information, RVM version.
princess - Modeled after abhiyan.zsh with perhaps a bit too much pink and arguably too few emojis. Includes decorators for current directory and git status.
prompt-powerline - A fairly heavyweight ZSH prompt, based on the powerline font from the popular eponymous vim plugin, which works well for a dark background.
prompt - A lightweight prompt consistent across sh, dash, ash, zsh, and pwsh. Includes git status decorations.
prompt_j2 - Has a dynamic exit status indicator, can change to two lines dynamically to display context.
promptor - Powerline-inspired. Includes decorators for git status, username, hostname, working directory and time.
promptus - Simple, minimalist and configurable shell prompt program in C which can be used to make your prompt the same on any shell. Includes exit code and working directory decorations.
pronto - Simple and fast theme with git decorations and timing information.
prowpt - Simple, lightweight, and customizable Powerline-like prompt, with decorators for git information, user, hostname, current directory, time and exit status of the last command.
ps1.py - Has git status, truncated directory, chroot and virtualenv prompt decorations.
pskfyi - Based on lambda. Themed for ubuntu but easily tweaked.
pure-agnoster - Mashup of pure and agnoster. Has git decorations and works well with both dark and light terminal backgrounds.
pure - A pretty, minimal and fast ZSH prompt. Includes git status decorations, prompt turns red if last command failed, username and host decorations when in a remote session or container, and current folder and command when a process is running.
purpleblood - Based on darkblood. Includes decorators for username@host, git status, and current directory.
purr - Minimalist. Includes decorations for git status, username and current directory.
purs - A fast pure-inspired prompt written in Rust.
pustelto - Colorful theme inspired by the Spaceship theme, includes git decorations.
pwn - Includes decorators for user@host, git & hg status, ruby version, python virtualenv and current working directory.
pyhack - Works well with dark terminal themes. Shows Python version, Python package version (pyproject.toml) and git current branch information.
qi3ber2 - A dark multiline theme. Includes git, load average and exit code of last command decorators.
qoomon - Optimized for dark backgrounds, includes git information. Theme repo includes iTerm 2 and Terminal color settings.
quewui - Simple and clean theme optimized for dark terminal themes. Includes decorations for the current time, user, directory and git status.
r3nic1e - Agnoster variant with battery status, git/hg status, time, kubernetes context and namespace, non-zero exit code of last command and date decorations. Requires Powerline font.
river_dreams - Includes decorators for git information, machine's IP address, time, disk usage on /, current Python venv, current directory, root status, and the last command's exit status.
riverside - A more portable descendent of River Dreams inspired by robbyrussell and kafeitu. Includes decorators for git status, user@hostname, current directory and the current python virtual environment.
rkj-logik - Based on omz's rkj. Includes decorators for user@host, current directory, time & date.
rounded - Includes current directory and git status decorations.
roundy - Fast, cute and roundy theme. Includes decorators for git status, current directory and last command execution time. Requires a Nerd Font and a unicode-capable terminal application.
rs - Includes git decorations. Requires unicode capable terminal.
s1ck94 - Fork of the (first deprecated, now extinct) minimal prompt by S1cK94. Shows whether user is root, background job status, vi-mode, exit status of last command, and git status decorations.
s7c - Works well with dark backgrounds. Includes git status decorations.
sailormoon - A collection of Sailor Moon themed themes.
samshell - A minimalist ZSH theme with git, kubernetes and python virtualenv decorations.
saraiva - Includes git status decorations, works well on a dark terminal background.
saturn - A soft & minimalistic prompt for those who love space and want to have a bit of it on their terminal, featuring cool emojis & highly customizable prompt elements (such as icons, colors, time format, and more).
schminitz-v2 - Shows decorators for git status, user@host information, the exit status of last command, and whether running as root.
schminitz - Shows if vim is running in the background when using :sh command.
scythe - Powerline-reminiscent theme. Includes git, last command exit status and directory decorations.
searocket - Slimmed down version of spaceship. Includes decorators for working directory, last command exit code, user, background jobs, bun, d, elm, go, nodejs, python, zig and git status. Requires D build chain.
seashell - Minimal theme with sea-inspired emoji decorations. Includes git status decorations.
seeker - This theme uses many special unicode characters to be fancy, but it may cause some problems without well supported fonts.
seltzer - Inspired by the dieter theme, uses color-coding to provide information.
senpai - Clean prompt theme for Devops. Includes decorators for git status, the kubernetes context, AWS profile, GCP project and Azure active cloud.
sensa - Includes decorators for git status, GitHub username and current directory.
sepshell - Clean and minimal ZSH theme based on the old lost taybalt theme, with git bisecting/merging/rebasing modes and configurable prompt symbols.
serious - Includes command exit status and git status decorations.
seti_UX - A simple oh-my-zsh-compatible theme with a corresponding iTerm 2 color scheme.
sfz - An evolution of lean prompt which itself is a rewrite of pure.
shadow - Includes git status, directory, host name, username and time decorations.
shayan - Simple theme with git status decorations.
shelby - Fast, lightweight and minimal prompt written in pure golang. Includes decorations for last command exit status, git status and the current working directory.
shellder - Minimal theme with a git branch decorator. Requires a Powerline-compatible font.
shichi - A simple theme with the first character being 七(shichi/nana), the number 7. The primary color is red with a yellow accent. Includes git status decorations.
shini - A tiny theme that just shouts out small. Includes directory, username, hostname, time and git decorations.
shinkansen - A fast, customizable and easily extended theme. Includes decorators for rhw python version in the active virtualenv, current ruby version if you're using chruby, current Node.js version, current java version, current go version, current perl version if using chperl, current elixir version, git status, time, current directory, exit code and execution time of the last command, and an optional custom message. Requires a powerline-compatible font.
shirnschall - Includes git status and user@hostname decorations.
shrug - Inspired by beer-theme, includes git status and current directory decorations.
shuttle - Written in golang. Has decorators for OS, user, current directory, and the exit code of the last command run.
siegerts - Includes git status decorations in right prompt.
silver - A cross-shell customizable powerline-like prompt heavily inspired by Agnoster. A faster rust port of bronze. Requires Nerd Fonts. Very configurable, includes git status decorations.
simpalt - An information-rich small-footprint theme for ZSH based on Agnoster.
simple (daopengz) - Works well with both light and dark terminal themes. Includes vcs, username and path decorations.
simple (drNoob13) - Includes decorators for python virtual environment, git status and current directory.
simple (pavdmyt) - Minimalist theme based on robbyrussel that embeds git status information in iTerm's window title bar instead of using space in the prompt.
simple (rkitover) - A simple, lightweight, and nice looking prompt that runs quickly even in very slow shells like MSYS2, Cygwin and WSL. It shows decorations for the short name of the current environment (distribution, OS, etc.) the git branch when in a git checkout, as well as the last command exit status (green checkmark for success and red X mark for non-zero exit).
simple (savecoders) - Simple and minimalist theme with git, username and execution status decorations.
simple (tourcoder) - Minimalist prompt, includes git status decorations.
simple (yhiraki) - Minimal prompt, doesn't require special fonts.
simple-agnoster - Powerline-inspired simple theme with git decorations.
simple-chack - Works well with solarized terminal color scheme. Includes git status decorations.
simple-git - Minimalist theme inspired by gitstatus. Includes git decorations.
simple-yet-beautiful - Minimalist theme. Includes git status and user@host prompt decorations.
simply-perfect - Reminiscent of Powerline and Bullettrain. Includes decorators for git status, current directory, last command exit status, current time and username.
sinon - k-kinzal's sinon theme. Includes git status decorations.
sit - Minimalist theme with git, command exit status and path decorations.
sixlive - This theme has a unique directory listing. When inside a git project, the directory display is scoped to the current repository root.
snazzy - A powerline-style prompt. Includes segments for current working directory, error status of the last command, git status information, hostname and username. Requires libgit2.
snowflake - An elegant, simple, and neat ZSH theme including an aesthetically pleasing cool color palette that harmonizes with dark themes.
sobole - A minimalistic ZSH theme inspired by the old-fashioned hobbies. No verbose gimmicks, no emoji, no fidget spinners, and no other visual noise. Has both light and dark modes.
softblobby - A theme for people who love unicorns, pink and purple. Includes decorators for git information, current directory, time and username.
statusline - A responsive ZSH theme that provides informational segments when you need them.
steef (danihodovic) - Oh-my-zsh steeef theme as a standalone repository. The purpose behind this repo is avoid having a dependency on oh-my-zsh when using the steeef theme. ZSH plugin managers such as Antibody can use the theme without having to use oh-my-zsh.
themeraf - Has decorators for username, last two directories in working directory path, git status, timestamp, last exit status and also name of active virtual environment.
theozera - Includes decorators for git status, a truncated current directory, and the exit status of the last command run.
theta-async - Async version of theta. Includes vcs status information.
theta - Includes git and hg status decorations. Also has java, python, ruby, node, go and elixir version information.
theto - Simplistic theme. Needs Nerd Fonts, includes vi-mode status and git decorations.
thetraveler - Inspired by theunraveler, uses symbols to display git status.
thm - Includes decorators for virtualenv, current directory and git status.
tvline - Derived from the agnoster theme, adds powerline font enhancements.
twilight - Minimalist, but includes last command exit status, git status and user@hostname decorations.
type0 - Inspired by classyTouch by yarisgutierrez. Includes git decorations.
typewritten - Minimal and informative theme that leaves room for what's important. Does asynchronous git decoration updates for speed.
ubunly - Mimics the Kali Linux console. Note - this theme also rebinds a lot of keys and sets a bunch of ZSH options that themes should leave alone.
ubuntu-ish - Mimics the default Debian/Ubuntu bash prompt.
ubuntu-with-vitamins - Mimics the default Ubuntu prompt, but with git decorations.
ubuntu - Minimal theme, includes git status decorations.
ultima - Minimalist, includes git status and current directory decorators.
ultimate - Minimalist theme with decorators for git status, vim mode indicator and shortened path.
ultimator - Agnoster-like theme. Includes decorators for current directory, user@host, python virtualenv, background jobs, last command exit status, and git status information. Requires zsh-git-prompt plugin and Nerdfonts.
unicorn - Includes decorators for root status, virtualenv, nvm, rvm, current directory, the time, current directory and emoji git information. Inspired by wild cherry.
userandnode - A clean theme with decorators for username, node version, current directory, and git info.
valuca - Variant of ducula. Includes decorators for background job status, username, hostname, virtualenv, current directory, last command's exit code, git information and the current time.
vanan - Minimalist theme with git information for dark terminals.
vehemence - Includes decorators for pwd, user@host, tty, time, last command exit code and git status.
vercel - Minimalist theme with git status decorations.
vertepommes - Based on ys. Includes vcs status, username and current directory decorations.
vinhnx - Modified from mgutz. Looks great when using with a Solarized color scheme.
vitesse - Inspired by VS Code's Vitesse theme. Includes git status decorations.
voidy - Borrows elements from lambda and robbyrussell themes and adds the active aws-vault profile to the right side of the prompt.
vtex - Includes decorators for git status, current directory, vtex account and vtex workspace.
vulcan - Minimal theme reminiscent of the default bash theme. Includes git decorations.
wade - Mashup of the popular ZSH themes Agnoster and Fishy, with some visual tweaks.
whales - Includes decorators for git status, java version, last command return status, and directory.
wild-cherry - A fairy-tale inspired theme for ZSH, iTerm 2, Sublime, Atom, & Mou.
windows - Inspired by the Windows Command Prompt. Includes a decorator for the current directory.
winline - Async version of Greg Hurrell's prompt. Includes decorators for git status, duration of last command, current directory, nested shells, root status.
wkentaro - A simple theme for Python users. Includes virtualenv and git status decorators.
workbench - Includes git status decorations, working directory, exit status of last command and current virtualenv.
wormwood - Includes decorators for last command exit status, current directory and git status.
wynwyn - A theme that aims to show you the information you need when you need it. wynwyn takes inspiration from the default theme avit and the excellent Spaceship prompt.
xxf - Shows the current git commit's shortened hash and message.
yairshefi - Minimal theme with line separated prompts. Based on the robbyrussell theme.
yazpt - A clean, fast, good-looking ZSH prompt theme that thoughtfully incorporates Git/Subversion/TFVC status info, integrates with popular plugin managers like Oh My Zsh, and is straightforward to customize and extend.
yechen - Minimalist theme with git status decorations.
yeet - Minimalist prompt with git status decorations.
yellow-sea-diamonds - Includes decorations for git status, current directory, active python virtual environment, and the exit status of the last command run.
yindev - Variant of gndx. Includes decorations for git status and current directory.
ykmam - Modified from ys theme and optimized for a dark background.
ys-cluster - ys variant with support for working with batch submission systems for large clusters. Supports Slurm, LSF / IBM Spectrum LSF, and PBS.
ys - Clean, simple, compatible and meaningful theme meant for dark backgrounds.
ysm - Simple ZSH theme with git status information.
ysr - Based on ys. Includes git status decorations.
zeta - Shows decorations for username, git status information, machine name, the current working directory and success/fail status of last command.
zhiyin - Includes decorators for user @ host, current working directory and git status information.
zinc - A blazing-fast, pure ZSH, mixed asynchronous prompt inspired by Powerlevel9k and Agnoster that's easily extensible and extremely configurable. It supports async segments using zsh-async.
zlambda - Minimalist, includes git decorations without special font requirements.
zodiac - Includes an emoji for the animal corresponding to the current year.
zp - Fast prompt, written in zig. Includes git status and current directory decorators.
zprompts - Themes (prompts) that use original zsh theming subsystem.
zqt - Modified version of oh-my-zsh's maran theme.
zsh1999 - Includes network connectivity, battery and git status decorations.
zsh2000 - Theme which resembles Powerline and includes the rvm prompt, git status and branch, current time, user, hostname, pwd, exit status, whether running as root and background job status.
zsh313 - Minimal theme with git status decorations.
zshify - A minimalistic, one command installation to customize your prompt. Requires npx.
zshpower - Optimized for python developers. Includes git and pyenv status decorations, username and host. Tries to install other plugins and fonts, so read its instructions before installing.
zshred - Shows current directory, git decorations, exit status of last command and time.
zskai - Simple theme based on Monokai. Includes decorators for user@hostname, time, git status and current working directory.
Hack - Another Powerline-compatible font designed specifically for source code.
Input Mono - A family of fonts designed specifically for code. It offers both monospaced and proportional fonts and includes powerline glyphs.
Iosevka - Coders' typeface, built from code. Highly customizable.
Monoid - Monoid is customizable and optimized for coding with bitmap-like sharpness at 15px line-height even on low res displays.
Nerd Fonts - Collection of over 20 patched fonts (over 2,000 variations) & FontForge font patcher python script for Powerline, Font Awesome, Octicons, Devicons, and Vim Devicons. Includes: Droid Sans, Meslo, Source Code, AnonymousPro, Hack, ProFont, Inconsolata, and many more.
Terminus - TTF version of Terminus that includes powerline glyphs.
Installation
I recommend zgenom 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.
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.
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.
zshelldoc - Doxygen for shell scripts. Parses ZSH and Bash scripts, outputs Asciidoc document with function lists, call trees, lists of exported variables, and more.
zunit - A powerful unit testing framework for ZSH.
Other Useful Lists
awesome-devenv - A curated list of awesome tools, resources and workflow tips making an awesome development environment.
awesome-sysadmin - A curated list of awesome open source sysadmin resources.