From fac95146b95ef103e8100b2284671be4bdc1065f Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Mon, 5 Oct 2026 09:45:05 +0300 Subject: alacritty: the mux launch in its own import, overridable per machine Alacritty merges the importing file last, over all of its imports (v0.17.0: merge(imports, config)), so the inline [terminal.shell] could not be replaced from local.toml at all; local.toml only ever got away with keys the main file leaves unset. The launch now lives in mux.toml, imported first, and local.toml, imported after it, can replace it. But only in the string form. Alacritty's merge appends arrays rather than replacing them, key by key (serde_utils.rs), so a [terminal.shell] table in local.toml would put its args after tmux's, zsh would run the first -c, and the window would open in tmux with no error -- the override the filed request described would not have worked. mux.toml and AGENTS.md say how to do it: `[terminal] shell = "/path/to/launcher"`, which replaces the whole table. No machine changes today: the existing local.toml files set fonts only. From change request 0bd5fb. --- AGENTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index 64d3b52..bfdce1a 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -172,7 +172,7 @@ tracked config says so, and in no repo: | `~/.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` | +| `~/.local/share/alacritty/local.toml` | Alacritty. To change the mux a window opens in, `[terminal] shell = "/path/to/launcher"` -- the string form, since a `[terminal.shell]` table appends its args to the default's. See `config/alacritty/mux.toml` | imported by `config/alacritty/alacritty.toml`, after `mux.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` | -- cgit v1.2.3