β¨οΈ Tmux Plugin Panel
The best way to install plugins and themes for both PSMux and Tmux.
A full-featured TUI plugin manager β the modern alternative to TPM.
Browse, install, remove, update, and theme your tmux β all from a beautiful terminal interface.
πͺ Need native tmux for PowerShell? Install PSMux on Windows: winget install psmux
cargo install tmuxpanelΒ Β Β·Β Β choco install tmuxpanelΒ Β Β·Β Β scoop install tmuxpanelΒ Β Β·Β Β winget install marlocarlo.tmuxpanel
Installation
Via Cargo (crates.io) β Windows, Linux, macOS
cargo install tmuxpanel
> Linux users: You need a few system packages before building from source:
>
> Debian / Ubuntu:
> bash > sudo apt install pkg-config libssl-dev build-essential >
>
> Fedora / RHEL:
> bash > sudo dnf install pkg-config openssl-devel gcc make >
>
> Arch Linux:
> bash > sudo pacman -S pkg-config openssl base-devel >
Via Chocolatey (Windows)
choco install tmuxpanel
Via Scoop (Windows)
scoop bucket add tmuxpanel https://github.com/marlocarlo/scoop-tmuxpanel
scoop install tmuxpanel
Via WinGet (Windows)
winget install marlocarlo.tmuxpanel
From GitHub Releases β Pre-built binaries
Download the latest release for your platform from GitHub Releases:
| Platform | Archive |
|---|
| Windows x64 | tmuxpanel-vX.Y.Z-windows-x64.zip |
| Windows x86 | tmuxpanel-vX.Y.Z-windows-x86.zip |
| Windows ARM64 | tmuxpanel-vX.Y.Z-windows-arm64.zip |
| Linux x64 | tmuxpanel-vX.Y.Z-linux-x64.tar.gz |
| Linux ARM64 | tmuxpanel-vX.Y.Z-linux-arm64.tar.gz |
| macOS x64 (Intel) | tmuxpanel-vX.Y.Z-macos-x64.tar.gz |
| macOS ARM64 (Apple Silicon) | tmuxpanel-vX.Y.Z-macos-arm64.tar.gz |
From Source
git clone https://github.com/marlocarlo/Tmux-Plugin-Panel.git
cd Tmux-Plugin-Panel
cargo build --release
./target/release/tmuxpanel
After installation, three commands are available:
tmuxpanel β Main TUI plugin manager
tmuxplugins β Opens directly to the Browse tab
tmuxthemes β Opens directly to the Themes browser
Why Tmux Plugin Panel?
TPM works, but it's a shell script with no UI, no search, no browsing. Tmux Plugin Panel gives you a complete graphical plugin manager β think "app store for tmux" β right inside your terminal. Works with both tmux on Linux/macOS and PSMux on Windows.
- Browse a curated registry of 40+ plugins, sorted by category and stars
- Search GitHub for any tmux plugin in real-time
- One-key install/remove/update β no editing config files manually
- Theme gallery β preview and switch tmux themes instantly
- Settings editor β toggle tmux options (mouse, status bar, keybindings) without memorizing
set -g syntax
- Auto-detection β finds tmux and PSMux installations, versions, and config files automatically
- Config management β creates, parses, and updates
tmux.conf / psmux.conf for you
- Offline fallback β ships with an embedded plugin registry; works without internet
Features at a Glance
| Tab | What it does |
|---|
| β Dashboard | Quick-action cards for common tasks. Browse plugins, themes, configure settings, reset to defaults, manage registries. |
| Browse | Category sidebar + plugin list + detail panel. Search, filter by compat, install with Enter. |
| Installed | See all installed plugins. Update one (u), update all (U), remove (x), clean orphans (C). |
| Themes | Dedicated gallery for tmux themes. Install, activate, switch β one keypress. |
| Config | Full settings editor. Toggle booleans, cycle choices, edit values inline. Grouped by category. Reset individual settings or factory reset. |
Quick Start
Prerequisites
- tmux on Linux/macOS β or PSMux on Windows
- git (for cloning plugins)
First Run
- Tmux Plugin Panel auto-detects your tmux installation and config file
- If no
tmux.conf exists, press c to create one
- Browse plugins β press
Enter to install
- Press
R to reload tmux with your new plugins
Keybindings
| Key | Action |
|---|
q | Quit |
Tab / Shift+Tab | Switch tabs |
1β5 | Jump to tab (1=Dashboard, 2=Browse, 3=Installed, 4=Themes, 5=Config) |
β β / j k | Navigate list (wraps around) |
β β / h l | Switch category (Browse) / settings group (Config) |
Enter | Install plugin / toggle setting / dashboard action |
x / d | Remove plugin (with confirmation) |
u | Update selected plugin |
U | Update all plugins |
C | Clean orphaned plugins |
/ | Search plugins |
f | Toggle compat filter (tmux / psmux) |
r | Rescan config |
R | Reload tmux config (tmux source-file) |
c | Create config / cycle configs |
Backspace | Reset single setting to default (Config tab) |
D | Reset all settings to defaults (Config tab) |
Ctrl+D | Factory reset entire config (Config tab) |
p | Preview plugin/theme |
J / K | Scroll README detail |
? | Show help |
Architecture
src/
βββ main.rs # Entry point, terminal setup, event loop
βββ app.rs # Application state machine (5 tabs, selections, data)
βββ ui.rs # TUI rendering with ratatui (dashboard + 4 tabs + overlays)
βββ registry.rs # Plugin registry β embedded + external sources, search/filter
βββ plugins.rs # Git-based install/remove/update engine
βββ themes.rs # Theme management (install, activate, switch)
βββ config.rs # tmux.conf / psmux.conf parser, editor & factory reset
βββ detect.rs # Auto-detection of tmux/PSMux binaries & configs
βββ github.rs # GitHub API client for search & repo info
Plugin Registry
Tmux Plugin Panel ships with a curated registry of popular tmux plugins covering:
- β Essential β TPM, tmux-sensible, tmux-256color
- π¨ Themes β Catppuccin, Dracula, Nord, Tokyo Night, Rose Pine, and more
- πΎ Session β tmux-resurrect, tmux-continuum
- π§ Navigation β vim-tmux-navigator, tmux-fzf
- π Status Bar β tmux-cpu, tmux-battery, tmux-net-speed
- π Clipboard β tmux-yank
- π§ Utility β tmux-fingers, tmux-open, tmux-logging
The registry is fetched from GitHub on startup and cached locally. An embedded copy is compiled into the binary as a fallback.
Custom Registry
You can extend the built-in registry by adding external sources (local JSON files or remote URLs). See REGISTRY_FORMAT.md for the full schema and setup instructions.
Registry sources are configured in ~/.config/tmuxpanel/registry_sources.json.
Tech Stack
- Rust β safe, fast, no runtime
- ratatui β modern terminal UI framework
- crossterm β cross-platform terminal manipulation
- tokio β async runtime for GitHub API calls
- reqwest β HTTP client
Configuration
Tmux Plugin Panel uses the standard TPM plugin syntax in your tmux config:
# ~/.tmux.conf
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-resurrect'
Plugins are installed to ~/.tmux/plugins/ by default.
Environment Variables
| Variable | Purpose |
|---|
GITHUB_TOKEN or GH_TOKEN | Authenticate GitHub API requests (higher rate limits) |
License
MIT β see Cargo.toml.
Contributing
Contributions welcome! Feel free to open issues or submit pull requests.
- Fork the repo
- Create a feature branch
- Make your changes
- Submit a PR
Built with π¦ Rust and β€οΈ for the terminal