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

@@ -1,7 +1,7 @@
# Themed-desktop capture harness (item 28 slice c) — boots the full
# desktop headlessly (software-GL Hyprland) at 1920x1080 and QMP-dumps
# screenshots into $out: desktop.png, menu.png (rofi root open), and
# btop.png (Ghostty running btop, when the terminal starts under softGL).
# btop.png (Kitty running btop, when the terminal starts under softGL).
# Also asserts nomarchy-doctor-status JSON (class:bad) — the harness
# seeds an untracked theme-state.json, so doctor always reports ✖.
# Maintainer tool, NOT a checks.* gate (a full-desktop VM is far too
@@ -91,13 +91,13 @@ pkgs.testers.runNixOSTest {
machine.execute(hy + " exec nomarchy-menu' >/dev/null 2>&1")
machine.sleep(8)
machine.screenshot("menu")
# Close menu, launch btop in Ghostty for the per-theme btop.theme shot.
# softGL may fail to start Ghostty btop.png is best-effort then; the
# Close menu, launch btop in Kitty for the per-theme btop.theme shot.
# softGL may still fail to start a GPU terminal btop.png is best-effort;
# file assertions above still prove the theme is baked into the guest.
machine.execute("su - nomarchy -c 'pkill -x rofi' >/dev/null 2>&1 || true")
machine.sleep(1)
machine.execute(
hy + " exec ghostty --gtk-single-instance=false -e btop' >/dev/null 2>&1"
hy + " exec kitty -e btop' >/dev/null 2>&1"
)
machine.sleep(12)
machine.screenshot("btop")