A modern, fast plugin manager for ZSH written entirely in Rust. Features:
- ✅ Parallel updates - Update all plugins simultaneously using Rayon
- ✅ Real-time progress - Beautiful tables showing update status
- ✅ Non-blocking auto-updates - Runs in background, won't slow shell startup
- ✅ Auto-recovery - Recreates plugins.json if deleted (~19ms)
- ✅ Manual control - Explicit plugin loading in .zshrc
- ✅ Bootstrap - Install default plugins automatically
- ✅ Smart sync - Detects plugins from Git repositories
- ✅ Clean CLI - Simple, intuitive commands
- ✅ Fast - Written in Rust for maximum performance
yay -S zsh-mgrwget https://github.com/amt911/zsh-mgr/releases/latest/download/zsh-mgr_amd64.deb
sudo dpkg -i zsh-mgr_amd64.debwget https://github.com/amt911/zsh-mgr/releases/latest/download/zsh-mgr.rpm
sudo rpm -i zsh-mgr.rpmAfter installing the package, run:
zsh-mgr installIf you have Rust installed:
git clone --recurse-submodules "https://github.com/amt911/zsh-mgr.git" ~/.config/zsh/zsh-mgr
cd ~/.config/zsh/zsh-mgr/zsh-mgr-rs
cargo build --release
make install PREFIX=$HOME/.local
zsh-mgr installNote: You can add your own scripts to: ~/.config/zsh/ and source them in your .zshrc file.
Install all plugins from ~/.config/zsh/default-plugins.txt:
zsh-mgr bootstrapzsh-mgr initAutomatically adds load_plugin lines to your .zshrc based on installed plugins.
If plugins.json is deleted or corrupted, recreate it:
zsh-mgr syncThis scans ~/.zsh-plugins/ for Git repositories and rebuilds the database (~19ms).
zsh-mgr add zsh-users/zsh-autosuggestionszsh-mgr add romkatv/powerlevel10k --flags="--depth 1"zsh-mgr add your-user/private-repo --privatezsh-mgr updateUpdates all plugins in parallel using Rayon. Non-blocking when run via auto-update.
zsh-mgr update --only plugin1 --only plugin2zsh-mgr checkShows a beautiful table with update information using comfy-table.
zsh-mgr listzsh-mgr remove plugin-name- Parallel updates: All plugins update simultaneously using Rayon
- Non-blocking: Auto-updates run in background without blocking shell startup
- Fast recovery: plugins.json recreation takes ~19ms for 7 plugins
- Efficient: Optimal resource usage with thread pools
- Safe: Proper error handling and Git stash management
- Smart auth: Automatic SSH key and agent detection
-
plugins.json: Located at
~/.zsh-plugins/plugins.json -
Auto-recovery: Automatically recreated if deleted
-
Default plugins: Define in
~/.config/zsh/default-plugins.txt -
Update threshold: Default 7 days (604800 seconds)
-
ZSH_PLUGIN_DIR: Where plugins are installed (default:~/.zsh-plugins) -
ZSH_CONFIG_DIR: Configuration directory (default:~/.config/zsh) -
TIME_THRESHOLD: Update interval in seconds (default: 604800 = 1 week) -
MGR_TIME_THRESHOLD: Manager update interval (default: 604800)
cd zsh-mgr-rs
cargo install cargo-deb
cargo debcd zsh-mgr-rs
cargo install cargo-generate-rpm
cargo generate-rpmcd zsh-mgr-rs
makepkg -siThe following features are planned:
Updater for the plugin manager itself✅Auto-update for the plugin manager✅Parallel updates using Rust✅Complete CLI in Rust✅- Delete unused plugins via CLI
- Configuration management via CLI:
- Disable auto-update
- Change update frequency
- Plugin dependency management
If you encounter a bug, please open an issue or create a pull request to solve it. I speak both Spanish and English.