From 6c159347d75cc65536564d13d3ad2fe1c6d0a183 Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Mon, 21 Sep 2026 17:18:53 +0300 Subject: ghostty: read ~/.config/ghostty-local last, where a machine has one Ghostty had no way to differ per machine. It cannot take the shape the other tools use -- a file beside the linked one -- because link.sh links this whole directory, so ~/.config/ghostty is the checkout itself and a sibling file would be an untracked file in the repo every machine shares. An optional include at the end does the same job: later values replace earlier ones, so a local file overrides anything here, the theme colours included, and its keybinds add to these. Verified against the shipped config: font-size 12 becomes 18 with a local file, back to 12 without, and the config still validates when there is none. --- config/ghostty/config | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/ghostty/config b/config/ghostty/config index 0cb6f65..72ea0f3 100644 --- a/config/ghostty/config +++ b/config/ghostty/config @@ -47,3 +47,13 @@ auto-update-channel = tip # Text selection selection-background = #ff5a00 + +# Machine-local overrides, where a machine has any: ~/.config/ghostty-local, a +# file in no repo. Last, so its values win over everything above, the theme +# colours included, and its keybinds add to the ones set here. `?` makes it +# optional, so a machine without one is not an error. +# +# Not a file beside this one: link.sh links this whole directory, so +# ~/.config/ghostty is the repo itself and anything dropped in it would be an +# untracked file in the checkout every machine shares. +config-file = ?~/.config/ghostty-local -- cgit v1.2.3