tmuxedo

Crates.iotmuxedo
lib.rstmuxedo
version0.1.13
created_at2025-08-09 17:12:56.694209+00
updated_at2026-01-08 10:46:50.730906+00
descriptionA Tmux plugin manager and configuration system
homepage
repositoryhttps://github.com/AranBorkum/tmuxedo
max_upload_size
id1788083
size95,352
Aran Borkum (AranBorkum)

documentation

README

Tmuxedo πŸ•΄οΈ β€” A Cleaner, Modular Approach to Tmux Configuration

Tmuxedo helps you break down your tmux configuration into modular files and manage plugins in a clean, structured way.
Maintainable, extensible, and fast - keep your tmux setup under control.


✨ Features

  • πŸ”§ Modular config – split your .tmux.conf into logical, reusable files
  • πŸ“¦ Built-in plugin manager – declarative config, zero boilerplate
  • πŸ”„ Automatic plugin updates – clones and keeps plugins up to date
  • ⚑ One command to rule them all – apply config + plugins in one shot

πŸ“¦ Installation

Install from crates.io:

cargo install tmuxedo

Or build from source:

git clone https://github.com/AranBorkum/tmuxedo
cd tmuxedo
cargo install --path .

πŸš€ Getting Started

Running tmuxedo for the first time sets up:

  • ~/.config/tmux/tmuxedo/ – your modular config directory
  • ~/.config/tmux/plugins/ – plugin installation directory
  • ~/.config/tmux/tmuxedo/plugins.conf – your plugin manifest

Add this line to the end of your .tmux.conf to hook it all up:

run-shell 'tmuxedo'

πŸ›  Adding Config Files

Drop .conf files into ~/.config/tmux/tmuxedo/. You can name them however you like.

Example: bindings.conf

unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

unbind r
bind r run-shell tmuxedo

πŸ”Œ Managing Plugins

Via TUI

Run the built-in terminal UI:

tmuxedo --tui

Or use the key binding: <prefix> + C-t (defined by default).

The TUI lets you:

  • Install plugins from the known list
  • Update or remove existing plugins
  • Add new ones manually

If a plugin isn't listed, manually add it to plugins.conf, and consider submitting a PR to include it for others!


πŸ”„ Applying Changes

To apply your full configuration (including plugins), just run:

tmuxedo

For convenience, bind it to a key in tmux (e.g. <prefix> + r):

bind r run-shell tmuxedo

⚠️ Important Update (v0.1.12+)

Breaking Change for Existing Users: As of version 0.1.12, installed plugins now include the GitHub username in their directory name (e.g., username_repo_name) to prevent namespace conflicts.

How to Update: If you are upgrading from an older version, you must clear your old plugins directory to allow tmuxedo to re-install them with the correct structure.

  1. Delete your existing plugins directory:
    rm -rf ~/.config/tmux/plugins
    
  2. Re-run tmuxedo to re-install plugins with updated naming convention.

πŸ™Œ Contributions Welcome

Found a bug? Want to suggest a plugin or feature?
Open an issue or PR on GitHub!

Support

If you find Tmuxedo useful and would like to support its development, you can buy me a coffee β˜• β€” it’s very much appreciated!

Commit count: 68

cargo fmt