Last active
August 18, 2026 23:05
-
-
Save kristopherjohnson/1eb41e4ba2b499e57f27d5d1f0bdbbe8 to your computer and use it in GitHub Desktop.
Kris Johnson's ghostty configuration
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| font-family = "Iosevka Term Light" | |
| font-size = 16 | |
| cursor-style = block | |
| shell-integration-features = no-cursor | |
| # minimum-contrast auto-brightens any foreground color that is too close to | |
| # the background color, so dark ANSI colors (e.g. dark blue) stay readable | |
| # without hand-picking a palette. Range is 1 (off) to 21 (WCAG max); 4.5 is | |
| # the WCAG AA threshold for normal text. | |
| minimum-contrast = 4.5 | |
| # Default text color: pale amber instead of white. | |
| foreground = #FFE0B0 | |
| # Background: very dark amber instead of black. | |
| background = #1A1206 | |
| # Cursor: slightly brighter amber than the default text color. | |
| cursor-color = #FFE8BE | |
| # Selection highlight: brighter amber to match the cursor/text palette. | |
| selection-background = #6B4A1E | |
| # Brighten ANSI green (2/10) and cyan (6/14) - too dark against the amber | |
| # background at the default palette values (minimum-contrast wasn't enough). | |
| palette = 2=#63cf59 | |
| palette = 10=#79db70 | |
| palette = 6=#9ed2cb | |
| palette = 14=#ace2d8 | |
| # Default ANSI red (1/9) sat right at the minimum-contrast threshold against | |
| # this background, so ghostty's auto-correction was snapping it to white | |
| # instead of keeping it red. Override with reds that already clear the ratio. | |
| palette = 1=#ed7a7a | |
| palette = 9=#f05a5a | |
| # ANSI blue (4/12) was also getting snapped toward white by the | |
| # minimum-contrast correction. Override with a blue that reads clearly | |
| # blue with a solid contrast margin against the background. | |
| palette = 4=#70befe | |
| palette = 12=#8ac6ff | |
| # ANSI magenta (5/13) hit the same white-snapping correction. Override with | |
| # a magenta/purple that clears the contrast margin. | |
| palette = 5=#d883ef | |
| palette = 13=#dd94ee | |
| # Default ANSI yellow (3/11) sits at ~40 degrees hue (orange-leaning), not | |
| # true yellow (~60 degrees). Shift hue, not a contrast-correction fix. | |
| palette = 3=#f2e55a | |
| palette = 11=#f8ed77 | |
| # ANSI white (7/15) brightened slightly. | |
| palette = 7=#d4d7d5 | |
| palette = 15=#e0e0e0 | |
| # ANSI black (0/8) was nearly identical to the background color, leaving | |
| # minimum-contrast almost no headroom - it was correcting hard toward white. | |
| # Override with dark grays that already clear the contrast margin on their | |
| # own, so "black" text stays dark/gray instead of getting force-brightened. | |
| palette = 0=#7d7d7d | |
| palette = 8=#939393 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment