summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AGENTS.md3
-rw-r--r--config/tmux.conf7
2 files changed, 9 insertions, 1 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 22da5dc..316f972 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -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