ops-toolkit / packs / tmux /
..
files Initial upload 7 days ago
README.md tmux: install the plugin set non-interactively (install-040-plugins.sh) 2 days ago
install-010-core.sh Initial upload 7 days ago
install-020-config.sh Initial upload 7 days ago
install-030-tpm.sh Initial upload 7 days ago
install-040-plugins.sh tmux: install the plugin set non-interactively (install-040-plugins.sh) 2 days ago
install-pack.sh Initial upload 7 days ago
plugins.list Initial upload 7 days ago
README.md

tmux -- durable terminal sessions (team baseline)

Why the team uses it: sessions on the jumphost survive SSH disconnects, so a dropped connection no longer kills mid-stream work (deploys, Code sessions, long verifies). Detach with prefix + d, reattach from any client with tmux attach (or the ts <name> helper from the shell pack).

What this pack installs:

  • install-010-core.sh -- tmux via apt; enforces version floor >= 3.2
  • install-020-config.sh -- symlinks the team tmux.conf to ~/.tmux.conf
  • install-030-tpm.sh -- clones TPM (the plugin manager itself)
  • install-040-plugins.sh -- installs the team plugin set via TPM's
                            `bin/install_plugins` (scripted `prefix + I`)

Key decisions (debate welcome, change via PR):

  • Prefix stays at the default C-b. The common C-a rebind shadows readline beginning-of-line, which ops shells use constantly. Rebind in your ~/.tmux.conf.local if you disagree for your own sessions.
  • Baseline status bar is minimal. Powerline-style frameworks need patched fonts on every client and fork per-user fast; they are a personal choice for ~/.tmux.conf.local, not team baseline.
  • Plugins: tmux-yank (clipboard copy), tmux-prefix-highlight (visual cue when the prefix is armed). Additions go through plugins.list + the matching @plugin line in files/tmux.conf.
  • Plugins install non-interactively (install-040-plugins.sh) rather than leaving prefix + I to the user. A fresh clone that stopped at TPM looked installed but was not: tmux-yank was silently dead and the #{prefix_highlight} in status-right rendered empty, which reads as a broken status bar rather than a missing step. prefix + I still works and is still the way to pick up plugins added mid-session.

Daily driver commands:

tmux new -A -s main      # create-or-attach a session named "main"
prefix + d               # detach (session keeps running)
tmux ls                  # list sessions
prefix + r               # reload config after edits