feat(terminal): Kitty only — drop Ghostty (#95)
Some checks failed
Check / eval (push) Has been cancelled

Ghostty's OpenGL 4.3 floor broke the Acer (HD 4000 / 4.2). Dual-terminal
support (default Ghostty + install-time Kitty fallback) was more complexity
than it was worth.

- Remove ghostty.nix / nomarchy.ghostty.enable
- Kitty always installed and themed from theme-state
- Default nomarchy.terminal = kitty; SUPER+Return, doctor, calendar,
  what-changed use kitty --class=com.nomarchy.*
- Drop install-time glxinfo probe and mesa-demos on the installer
- Docs/REQUIREMENTS no longer list OpenGL 4.3 as a terminal floor

Verified: V0 flake check; option-docs; installer-safety; template HM has
kitty, no ghostty; menu/calendar emit classed kitty launches.
This commit is contained in:
2026-07-15 09:51:27 +01:00
parent 1e648b6c49
commit 545e40f4d9
32 changed files with 151 additions and 299 deletions

View File

@@ -2,7 +2,7 @@
What Nomarchy expects of a machine. This is a **living floor**, not a
marketing sheet — numbers come from measured installs and known software
floors (Ghostty, NixOS, the ISO). When a real machine pushes a bound, update
floors (NixOS, the ISO, desktop GPU). When a real machine pushes a bound, update
this file in the same change.
Related: [HARDWARE.md](HARDWARE.md) (profiles/drivers),
@@ -22,39 +22,22 @@ Related: [HARDWARE.md](HARDWARE.md) (profiles/drivers),
## Graphics (default desktop)
The default terminal is **Ghostty**, which requires **OpenGL 4.3** (desktop
profile). That is a **GPU generation** limit, not a “driver not installed”
problem:
The sole terminal is **Kitty** (GPU-accelerated OpenGL, themed from
theme-state). It runs on older integrated GPUs that reject Ghosttys OpenGL
**4.3** floor — notably **Intel HD 4000 / Ivy Bridge** (Acer Aspire M5-481T
reported OpenGL **4.2** and could not start Ghostty). That is why Nomarchy
standardized on Kitty only: one terminal to theme, one set of classed windows
(doctor / calendar), no dual-stack or GL probe at install.
| Generation (examples) | Typical max OpenGL (Mesa) | Default Ghostty |
|-----------------------|---------------------------|-----------------|
| Ivy Bridge / HD 4000 (e.g. **Acer Aspire M5-481T**, ~2012) | **4.2** | **Does not start** (`OpenGLOutdated`) |
| Haswell and newer Intel iGPU, most AMD GCN+, discrete GPUs of the last decade | ≥ 4.3 | OK |
| Dell XPS 9350 (Skylake) | ≥ 4.3 | OK (verified 2026-07) |
**Why 4.2 and not 4.3 on HD 4000?** The silicon and Mesas feature set for
that generation top out at OpenGL 4.2. No package upgrade on the distro can
turn Ivy Bridge into a 4.3 device. Ghostty is choosing a modern GL baseline
on purpose.
**Install-time fallback (shipped):** when `nomarchy-install` can probe OpenGL
(via `glxinfo` on the live session) and the version is **< 4.3**, it writes
`settings.terminal = "kitty"` into the machines `theme-state.json`. Kitty is
enabled and **themed from the same JSON** as Ghostty (palette, mono font,
opacity). SUPER+Return then launches Kitty. Ghostty stays installed (doctor /
calendar classed windows still call it — those helpers may still fail on old
GL until a later follow-up).
If the probe fails (no display / headless VM), Ghostty remains the default —
do not guess. Existing installs can set the same by hand:
```json
"settings": { "terminal": "kitty" }
```
then `nomarchy-home` (or `home-manager switch`).
| Generation (examples) | Notes |
|-----------------------|--------|
| Ivy Bridge / HD 4000 (~2012) | Supported with Kitty (verified path on Acer M5-481T) |
| Haswell+ Intel, modern AMD, discrete GPUs | Supported |
| SoftGL / virtio-gpu VMs | Hyprland needs GL for the session; Kitty is best-effort under softGL |
Other Wayland clients vary; Hyprland itself is usually fine on these GPUs.
A working GPU (or software GL for VMs) is still required for the desktop
session — only the *terminal* no longer demands OpenGL 4.3.
---
@@ -154,8 +137,8 @@ Recovery menu. This requirements page only states why the disk fills up.
| Machine | Role |
|---------|------|
| **Acer Aspire M5-481T** (~2012, Intel HD 4000, OpenGL 4.2) | Ghostty floor (#95); install bake / old-HW QA |
| **Dell XPS 9350** (Skylake) | Install bake (#123); Ghostty OK |
| **Acer Aspire M5-481T** (~2012, Intel HD 4000) | Old-HW QA; drove Kitty-only terminal (#95) |
| **Dell XPS 9350** (Skylake) | Install bake (#123) |
| AMD dev box / Latitude / T14s | Ongoing V3 (HARDWARE-QUEUE) |
When you install on something older or smaller than the table, file what
@@ -167,7 +150,7 @@ broke in `agent/BACKLOG.md` and tighten this page.
| Item | Topic |
|------|--------|
| BACKLOG **#95** | Ghostty fallback when OpenGL < 4.3 |
| BACKLOG **#95** | Kitty as sole terminal (shipped) |
| BACKLOG **#120** | Lighter netinstall ISO (download size ≠ installed size) |
| BACKLOG **#123** | Installer HM pre-activate (first-boot polish) |
| BACKLOG **#124** | Flake pin vs main/v1 lag after install |