Reading the repo
Opening the box…
Reading the repo
Opening the box…
How to install on Windows
plug.zsh — A fast, modular Zsh plugin manager with a beautiful Gum UI. Minimal startup (single source cache), lazy & turbo loading, parallel updates, lockfiles, eval caching, managed completions, and startup profiling. Pure Zsh, gum optional, offline/testable.
GitHub didn't answer, so this is the saved copy from 14 h ago
Will it work on Windows?
docs/installing.md| Requirement | Why | Check |
|---|---|---|
| zsh 5.3+ | The manager is written in Zsh | echo $ZSH_VERSION |
| git | Clone, update, lock plugins | git --version |
| gum | The interactive plug command | gum --version |
| A Nerd Font | Optional, for icons | — |
plug command.# macOS
brew install gum
# Arch
sudo pacman -S gum
# Debian / Ubuntu (Charm's apt repo)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" \
| sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install gum
# Fedora
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo dnf install gum
# Go
go install github.com/charmbracelet/gum@latest
Add this to your ~/.zshrc before any compinit:
PLUG_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/plug/plug.git"
if [[ ! -d "$PLUG_HOME" ]]; then
git clone --depth=1 https://github.com/Armoghan-ul-Mohmin/plug.git "$PLUG_HOME"
fi
source "$PLUG_HOME/plug.zsh"
Reload:
exec zsh
plug doctor
If you already use one, it can install plug.zsh like any other plugin — but remember that plug.zsh sources a cache at start-up, so load it after the outer manager has set things up, or migrate off the outer manager entirely.
Download the release tarball or clone anywhere; just keep plug.zsh and lib/ together (then source that path).
.zshrcIf you used the auto-install above, you're done. If you're using a custom path, source plug.zsh before any compinit you run yourself:
# ~/.zshrc
# optional settings (see docs/configuration.md)
PLUG_DIR="${XDG_DATA_HOME:-${HOME}/.local/share}/zsh"
PLUG_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/plug/plug.git"
if [[ ! -d "$PLUG_HOME" ]]; then
git clone --depth=1 https://github.com/Armoghan-ul-Mohmin/plug.git "$PLUG_HOME"
fi
source "$PLUG_HOME/plug.zsh"
# your own config continues here ...
If your config already calls compinit, set PLUG_COMPINIT=0 and make sure your compinit runs
after the plug.zsh line.
Reload and verify:
exec zsh
plug --version
plug doctor
plug doctor should end with plug is healthy on a fresh install.
# install something
plug install zsh-users/zsh-autosuggestions
# restart to load it
exec zsh
On the first shell after plug install, the cache is built automatically. From then on, startup
does only -nt checks plus one source.
plug lock
Commit the state files (see architecture.md) to your dotfiles. On a
new machine, source plug.zsh and run plug sync.
If you cloned the repository:
plug selfupdate
exec zsh
Or git -C ~/.config/zsh/plug pull manually. Either way, restart the shell afterwards.
source .../plug.zsh line from .zshrc.rm -rf "$HOME/.local/share/zsh" "$HOME/.cache/zsh/plug"
| Symptom | Fix |
|---|---|
| plug: command not found | .zshrc does not source plug.zsh, or you're not in zsh |
| plug.zsh: lib/ not found | You copied only plug.zsh; clone the whole repository |
| Required command not found: gum | Install Gum (see above) |
| Plugins don't load after install | exec zsh (the cache only applies to new shells) |
| plug omz fails | git too old for sparse checkout, or no network to fetch Oh My Zsh |
More in troubleshooting.md.
# Install GitHub plugins
plug install zsh-users/zsh-autosuggestions zsh-users/zsh-syntax-highlighting
# Pin a specific branch
plug install zdharma-continuum/fast-syntax-highlighting@master
# Install Oh My Zsh plugins (omz can appear anywhere)
plug install omz git docker sudo
plug install user/foo omz fzf-tab
# Lazy load when a command is first used
plug lazy Aloxaf/fzf-tab fzf
# Defer loading after first prompt (~500ms)
plug defer zsh-users/zsh-autosuggestions 500
# Check status
plug status
Apply changes with exec zsh after adding lazy/defer/eval/completions.
Then run powershell -ExecutionPolicy Bypass -File .\setup.ps1. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
Needs Git: winget install Git.Git
git clone https://github.com/Armoghan-ul-Mohmin/plug.git cd plug
In the maintainers' order. Do the README instructions above first — they cover steps outside the terminal.
plug install zsh-users/zsh-autosuggestions zsh-users/zsh-syntax-highlighting plug install zdharma-continuum/fast-syntax-highlighting@master plug install omz git docker sudo plug install user/foo omz fzf-tab plug lazy Aloxaf/fzf-tab fzf plug defer zsh-users/zsh-autosuggestions 500 plug status
No reports for Windows yet.
GitManual AI Agent reads the 8 key files and writes a step-by-step guide for Windows. Once written, it's saved for everyone.