diff options
| author | Igor Soarez <igor@soarez.org> | 2026-10-03 07:26:40 +0300 |
|---|---|---|
| committer | Igor Soarez <igor@soarez.org> | 2026-10-03 07:26:40 +0300 |
| commit | b872fd500c67ba19913c64c0c071be8829bedc01 (patch) | |
| tree | a34505be9676f9d68d85193741ad452b4ce24a17 | |
| parent | 013b5922d1b8401fe8eb47a8834f01fba1e1ad5a (diff) | |
tmux: machine-local overrides in ~/.tmux.conf.local
tmux was one of the configs a machine could not adjust without editing the
shared file. ~/.tmux.conf.local is now loaded last, so it wins over everything,
colours included, and is skipped silently where there is none. Not under
~/.config/tmux, which links into this repo.
The filed version loaded it with `if-shell -b`, which runs in the background
and applies the file after the rest of the config, in no fixed order;
`source-file -q` does the same job in order, without a shell. -q checked on
tmux 3.5a and 3.4.
From change request 379803.
| -rw-r--r-- | AGENTS.md | 3 | ||||
| -rw-r--r-- | config/tmux.conf | 7 |
2 files changed, 9 insertions, 1 deletions
@@ -170,13 +170,14 @@ tracked config says so, and in no repo: | `~/.config/ssh/config-local` | ssh, this host only. See `config/ssh/config-local-example` | `config/ssh/entry`, before the shared defaults | | `~/.config/git/config-local` | git, this host only -- the work identity, `includeIf` blocks. See `config/git/config-local-example` | `config/git/config`, after the `[user]` block above it, and git takes the last value | | `~/.config/hammerspoon/local.lua` | Hammerspoon: rebinding a hotkey set here shadows it, and `capslock_off()` gives this machine its Caps Lock back. `require("dotlib")` for the same helpers init.lua uses. See `config/hammerspoon/local-example.lua` | `config/hammerspoon/init.lua`, last, in a `pcall` | +| `~/.tmux.conf.local` | tmux, this host only: loaded last, so it can override anything, colours included | `config/tmux.conf`, last, with `source-file -q` | | `~/.config/ghostty-local` | Ghostty: later values replace earlier ones, `keybind` accumulates. See `config/ghostty/ghostty-local-example` | `config/ghostty/config`, last, as an optional `config-file` | | `~/.local/share/alacritty/local.toml` | Alacritty | imported by `config/alacritty/alacritty.toml` | | `~/.config/dot/skip` | which `link/` parts this machine does not want, one name per line | `link/lib.sh`, as each part starts | | `~/.config/dot/inbox-key` | the key this machine signs change requests with | `bin/dot-request` | | `~/.config/pi/models.d/*.json` | pi providers only this machine has -- a model served somewhere other than a vendor's own API | `link/pi.sh`, merged over `config/pi/models.json` | -Not covered today: nvim, tmux, bat, lsd, and `~/.claude/settings.json` -- which +Not covered today: nvim, bat, lsd, and `~/.claude/settings.json` -- which a machine can only leave alone entirely, by naming `claude` in the skip file. **When a request is not covered by the table, say so rather than editing a diff --git a/config/tmux.conf b/config/tmux.conf index 5cb6ce0..913a968 100644 --- a/config/tmux.conf +++ b/config/tmux.conf @@ -155,3 +155,10 @@ set -g allow-passthrough on # See: https://github.com/ghostty-org/ghostty/issues/7997 set -g extended-keys off +# Machine-local overrides, where a machine has any: ~/.tmux.conf.local, a real +# file in no repo, like ~/.localprofile for the shell. Not under ~/.config/tmux, +# which is a link into this repo. Last, so it wins over everything above, +# colours included; -q skips it silently where there is none. source-file +# rather than `if-shell -b`, which would apply it in the background, after the +# rest of the config and in no fixed order. +source-file -q ~/.tmux.conf.local |
