oh-my-zsh alternatives
Table of Contents
Background#
I’ve been a zsh
user for a long time, both on Linux (where it’s not the default) and OS X macOS (where it now is the default).
The first thing I used to do on new machines is port all of my .oh-my-zsh
stuff over.
Oh My Zsh is not bad! This is not mean to slam the project at all.
But I’ve recently (Jan 2025) upgraded to a new Mac Mini M4 and I thought maybe I should see what else is out there. If there’s something that’s good enough without being quite as large in size.
Alternatives#
Antidote#
Antidote is the only one I’m really messing with right now (Jan 2025).
Antidote is a Zsh plugin manager made from the ground up thinking about performance.
It is fast because it can do things concurrently, and generates an ultra-fast static plugin file that you can easily load from your Zsh config.
The author of Antidote also claims:
You can use antidote to load oh-my-zsh plugins pretty easily.
I’m going to give it a try.
~/.zshrc#
autoload -Uz compinit
compinit
. "$HOME/.cargo/env"
zstyle :omz:plugins:iterm2 shell-integration yes
# Set OMZ variables if you want.
ZSH_THEME="kphoen"
# Set any helper functions used by your antidote config.
function is-macos() {
[[ $OSTYPE == darwin* ]]
}
# source antidote
source ~/.antidote/antidote.zsh
# initialize plugins statically with ${ZDOTDIR:-~}/.zsh_plugins.txt
antidote load
~/.zsh_plugins.txt#
#.zsh_plugins.txt
# use-omz needs to be FIRST
getantidote/use-omz
# Add in some oh-my-zsh stuff
ohmyzsh/ohmyzsh path:lib
ohmyzsh/ohmyzsh path:plugins/colored-man-pages
ohmyzsh/ohmyzsh path:plugins/docker-compose
ohmyzsh/ohmyzsh path:plugins/gh
ohmyzsh/ohmyzsh path:plugins/git
ohmyzsh/ohmyzsh path:plugins/git-prompt
ohmyzsh/ohmyzsh path:plugins/rsync
ohmyzsh/ohmyzsh path:plugins/ssh
# Add macOS specific plugins
ohmyzsh/ohmyzsh path:plugins/brew conditional:is-macos
ohmyzsh/ohmyzsh path:plugins/macos conditional:is-macos
ohmyzsh/ohmyzsh path:plugins/iterm2 conditional:is-macos
# zsh-users
zsh-users/zsh-autosuggestions
zsh-users/zsh-syntax-highlighting