Skip to content

feat(roles/tmux): add tmux role and remove tmux from tools role#275

Open
NavidSassan wants to merge 2 commits into
mainfrom
feat/tmux-role
Open

feat(roles/tmux): add tmux role and remove tmux from tools role#275
NavidSassan wants to merge 2 commits into
mainfrom
feat/tmux-role

Conversation

@NavidSassan
Copy link
Copy Markdown
Member

Summary

Adds a dedicated tmux role and removes tmux from the tools role.

The new role installs tmux and deploys a system-wide /etc/tmux.conf with sensible, non-opinionated defaults for Linux System Engineers:

  • larger scrollback buffer (history-limit, configurable)
  • mouse support (configurable)
  • base-index 1 / pane-base-index 1
  • renumber-windows on
  • shorter escape-time (better with vim)
  • screen-256color
  • set-titles on
  • vi copy mode

Scrollback size and mouse support are exposed as variables (tmux__history_limit, tmux__mouse); the rest is a static baseline. No keybindings, theme, status-bar widgets or plugins, those belong in per-user dotfiles.

Changes

  • New role roles/tmux/ (tasks, defaults, README, /etc/tmux.conf template), modeled on the chrony role and the example conventions.
  • Removed tmux from the tools role (tasks + README).
  • Wired the role into setup_basic.yml (guarded by setup_basic__skip_tmux) so existing baseline setups keep getting tmux, now with a managed config.
  • Added standalone playbooks/tmux.yml.
  • Updated playbooks/README.md (new tmux.yml section + setup_basic skip-var entry) and CHANGELOG.md.

Verification

  • Confirmed the tmux package ships no config files (rpm -qc tmux empty on Rocky 9), so /etc/tmux.conf is safe to manage and no rpmnew/rpmsave cleanup is needed.
  • Rendered the template with default vars and loaded it in tmux 3.2a on Rocky 9: session starts, options apply.
  • Pre-commit hooks (yamllint etc.) pass.

Add a dedicated tmux role that installs tmux and deploys a system-wide
/etc/tmux.conf with sensible defaults (larger scrollback buffer, mouse
support, base-index 1, renumber-windows, shorter escape-time,
256-color, set-titles, vi copy mode). Scrollback size and mouse support
are configurable; everything else is a static baseline.

Remove tmux from the tools role and wire the new role into setup_basic
(guarded by setup_basic__skip_tmux) and a standalone tmux.yml playbook,
so existing setups keep getting tmux while gaining the managed config.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant