feat(terminal): themed Kitty when OpenGL < 4.3 (#95)
All checks were successful
Check / eval (push) Successful in 3m41s
All checks were successful
Check / eval (push) Successful in 3m41s
Ghostty needs OpenGL 4.3; older GPUs (Intel HD 4000) top out at 4.2. Installer probes glxinfo and writes settings.terminal=kitty into theme-state when below the floor. modules/home/kitty.nix enables Kitty with the same palette, mono font, and opacity as Ghostty so the fallback still looks like Nomarchy. Default machines stay Ghostty-only (no kitty in the HM closure). Doctor and calendar still invoke Ghostty by class — V3 on Acer for SUPER+Return. Verified: V0 flake check; installer-safety; HM with terminal=kitty builds themed kitty.conf + TERMINAL=kitty; default template has no kitty bin.
This commit is contained in:
@@ -37,13 +37,24 @@ 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.
|
||||
|
||||
**Until a fallback ships** (BACKLOG **#95** — alternate terminal or probe when
|
||||
GL < 4.3): machines below OpenGL 4.3 can still **install and run the
|
||||
desktop**, but SUPER+Return / the default terminal entry will fail until the
|
||||
user installs another terminal (e.g. kitty) or we ship an automatic fallback.
|
||||
**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 machine’s `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`).
|
||||
|
||||
Other Wayland clients vary; Hyprland itself is usually fine on these GPUs.
|
||||
The Ghostty floor is the one that bit real hardware first.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -404,6 +404,12 @@ Design/decision records and a running log of shipped work (items marked
|
||||
decision rather than a drive-by. Proved to fail: dropping snapshot makes it
|
||||
name the missing entry. **V3 pending** — that the apps *launch* needs real
|
||||
hardware (HARDWARE-QUEUE, Acer M5-481T).
|
||||
- ✓ **Kitty fallback when OpenGL < 4.3 (#95 partial):** Ghostty needs GL 4.3;
|
||||
Ivy Bridge HD 4000 tops at 4.2 (Acer M5-481T). Installer probes `glxinfo`
|
||||
and writes `settings.terminal = "kitty"` when below the floor; `kitty.nix`
|
||||
themes Kitty from the same theme-state as Ghostty (ANSI, mono font,
|
||||
opacity). Default machines stay Ghostty-only in the HM closure. V3 on Acer
|
||||
still needed; doctor/calendar still invoke Ghostty by class.
|
||||
- ✓ **Mime defaults must name a present .desktop (#119):** same bug class as
|
||||
#94, one key over. `text/plain` pointed at `code.desktop` (vscode), which
|
||||
the live ISO never ships — GIO skips the missing entry and leaves no
|
||||
|
||||
Reference in New Issue
Block a user