summaryrefslogtreecommitdiff
path: root/config/ghostty
diff options
context:
space:
mode:
authorIgor Soarez <igor@soarez.org>2026-09-21 17:18:53 +0300
committerIgor Soarez <igor@soarez.org>2026-09-21 17:18:53 +0300
commit6c159347d75cc65536564d13d3ad2fe1c6d0a183 (patch)
tree2e4e51dd9f32de5087a8953724dfe05005655d34 /config/ghostty
parentb3108c1548240674a000795d5340293d1adf4122 (diff)
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.
Diffstat (limited to 'config/ghostty')
-rw-r--r--config/ghostty/config10
1 files changed, 10 insertions, 0 deletions
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