CR: tmux-quantum Creation
1. Change Summary
| Field | Value |
|---|---|
CR ID |
CR-2026-04-03-tmux-quantum-creation |
Date |
2026-04-03 |
Priority |
P1 - High |
Type |
New Project / Configuration Architecture |
Status |
Complete |
Requestor |
Evan Rosado |
Implementor |
Evan Rosado |
Risk Level |
Low (new project, no existing system modified) |
Systems Affected |
|
Predecessor |
tmux-config (kept as archive) |
Related CR |
CR-2026-04-03-tmux-config-evolution |
2. Objective
Create a from-scratch tmux configuration built on one rule: each keybinding exists in exactly one file, each file owns exactly one domain.
The predecessor tmux-config had 6+ keybinding duplications across 3 files, a self-conflict (C-n), and plugin config scattered between 2 files.
tmux-quantum eliminates all of this through library-style architecture.
3. Background
The tmux-config repo served well as a learning vehicle but accumulated architectural debt:
-
Keybindings duplicated across
keybindings.conf,enhanced-keybindings.conf, andpane-management.conf(silent last-one-wins overrides) -
C-nbound to two different actions within the same file -
Plugin config split between
plugins.confandenhanced-statusline.conf -
05_SNIPPETS/was a junk drawer mixing clipboard, nested tmux, statusline, keybindings, and pane ops -
No conflict detection tooling
Rather than fix these in-place, a clean build was warranted.
4. Architecture
tmux-quantum/
├── tmux.conf Entry point
├── lib/ Composable modules (9 files)
│ ├── core.conf Terminal, prefix, settings (NO keybindings)
│ ├── vim.conf ALL navigation + copy mode
│ ├── mouse.conf Mouse support
│ ├── clipboard.conf Platform-detected clipboard
│ ├── panes.conf Splits, resize, zoom, layouts
│ ├── sessions.conf Session management, nested tmux
│ ├── popups.conf Popup workflows (lazygit, yazi, fzf)
│ ├── status.conf Status bar (uses @theme-* variables)
│ └── modern.conf tmux 3.2+ features
├── themes/ Color schemes as @theme-* variable exports
├── plugins/tpm.conf ALL plugin config in ONE file
├── scripts/ Status bar, help, conflict checker
├── sessions/ Tmuxinator YAML templates
└── docs/ AsciiDoc documentation
5. Design Principles
| Principle | Implementation |
|---|---|
One domain, one file |
Each keybinding exists in exactly one |
No silent overrides |
Verified by |
Theme as variables |
Themes export |
Plugin config consolidated |
ALL plugin settings in |
Quote special characters |
Backtick and tilde quoted in |
6. What Carries Over from tmux-config
-
All working keybindings (deduplicated, placed in correct module)
-
Theme color palettes (restructured as variable exports)
-
Status bar scripts (atelier paths)
-
Plugin list (minus tmux-sensible and tmux-copycat)
-
Tmuxinator sessions (26 YAML files)
-
Modern features (extended-keys, passthrough, popups)
7. What Gets Dropped
-
All keybinding duplication (6+ overlaps eliminated)
-
The
C-nself-conflict -
Scattered plugin config
-
Numbered directory prefixes (replaced by semantic names)
-
The "snippets" abstraction
-
tmux-sensible plugin (defaults set explicitly in
core.conf)
8. File Inventory
| Category | Count | Details |
|---|---|---|
Entry point |
1 |
|
Library modules |
9 |
|
Themes |
3 |
|
Plugins |
1 |
|
Scripts |
6 |
|
Sessions |
26 |
|
Docs |
4 |
|
Meta |
3 |
|
Total |
52 |
9. Deployment
rm -f ~/.config/tmux
ln -sf ~/atelier/_projects/personal/tmux-quantum ~/.config/tmux
ln -sf ~/.config/tmux/sessions ~/.config/tmuxinator
tmux source-file ~/.config/tmux/tmux.conf
# prefix + I to install plugins
10. Rollback
Re-symlink to tmux-config:
rm -f ~/.config/tmux
ln -sf ~/atelier/_projects/personal/tmux-config ~/.config/tmux
tmux source-file ~/.config/tmux/tmux.conf
12. Changelog
| Date | Author | Change |
|---|---|---|
2026-04-03 |
Evan Rosado |
Initial CR — 52-file library-style tmux config built from scratch |