From 71f43ff758e73b264489a7fc27d859b86be951e9 Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Sat, 25 Jul 2026 19:37:15 -0400 Subject: [PATCH] feat: add ghostty config --- README.md | 2 +- stow-packages/ghostty/.config/ghostty/config | 35 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 stow-packages/ghostty/.config/ghostty/config diff --git a/README.md b/README.md index 782eab7..4f858ca 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ Restart your terminal for the change to take effect. From within this repo's directory, run the following command to create the symlinks: ```bash -stow -d stow-packages -t ~ ag bash git iterm2 mise nvim ssh +stow -d stow-packages -t ~ ag bash ghostty git iterm2 mise nvim ssh ``` Then, iTerm and iStat Menus require additional configuration: diff --git a/stow-packages/ghostty/.config/ghostty/config b/stow-packages/ghostty/.config/ghostty/config new file mode 100644 index 0000000..a3f6fcb --- /dev/null +++ b/stow-packages/ghostty/.config/ghostty/config @@ -0,0 +1,35 @@ +# Disable programming ligatures (calt) and general ligatures (liga, dlig). +# Matches "ASCII Ligatures" = off in the old iTerm2 profile. +font-feature = -calt, -liga, -dlig + +# Matches "Normal Font: InconsolataNF-Regular 22" in the old iTerm2 profile. +font-family = Inconsolata Nerd Font Mono +font-size = 22 + +# Force bash integration explicitly - "detect" wasn't picking it up, which +# broke new tab/split working-directory inheritance (no __ghostty_hook in +# PROMPT_COMMAND). +shell-integration = bash + +# Save window/tab/split layout on every quit, not just forced quits/crashes. +# Doesn't restore scrollback or running processes (unlike iTerm2) - just +# reopens the same layout with fresh shells in the same directories, via +# shell integration's cwd tracking. +window-save-state = always + +# --- Considering, not yet enabled --- + +# iTerm2 profile had "Cursor Type: 1" (vertical bar) and "Blinking Cursor: 0". +# Note: shell integration forces a bar cursor at the prompt regardless of +# this setting, unless shell-integration-features includes no-cursor. +# cursor-style = bar +# cursor-style-blink = false + +# iTerm2 profile had "Scrollback Lines: 1000000" (lines). Ghostty's limit is +# in bytes, not lines, so there's no exact equivalent — default is 10000000 +# (~10MB). Raise if 10MB feels short in practice. +# scrollback-limit = 10000000 + +# iTerm2 profile had "Option Key Sends: 2" / "Right Option Key Sends: 2" +# (both sides send Esc+), for Option-as-Meta in shell/readline/nvim bindings. +# macos-option-as-alt = true -- 2.51.2