feat(terminal): Kitty only — drop Ghostty (#95)
Some checks failed
Check / eval (push) Has been cancelled
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:
@@ -27,9 +27,9 @@ in [`docs/ROADMAP.md`](../docs/ROADMAP.md); map in
|
||||
### Live ISO / install hardware findings — Acer Aspire M5-481T + Dell XPS 9350
|
||||
|
||||
Bernardo, real installs 2026-07-13–14 (photos of the install end screens and
|
||||
post-boot sessions). Preserve separation: the installer bake failure, the
|
||||
flake pin, and the Ghostty GL floor are different root causes even when they
|
||||
show up on the same machine.
|
||||
post-boot sessions). Preserve separation: the installer bake failure and the
|
||||
flake pin are different root causes even when they show up on the same machine.
|
||||
(Terminal / Ghostty-on-Acer → shipped as Kitty-only, #95.)
|
||||
|
||||
### 123. Installer HM pre-activate aborts on dconf / missing XDG_RUNTIME_DIR
|
||||
|
||||
@@ -144,26 +144,6 @@ template source. Pass = Chromium launches after installation and HTTP/HTTPS
|
||||
mime defaults resolve to `chromium-browser.desktop` (and the intended live-ISO
|
||||
browser posture is explicit).
|
||||
|
||||
### 95. Live ISO/install: Ghostty does not open on Acer (old GL) — **install fallback shipped**
|
||||
|
||||
**Machine:** Acer Aspire M5-481T only (Intel HD 4000, OpenGL **4.2**). XPS
|
||||
starts Ghostty fine. Generation ceiling documented in `docs/REQUIREMENTS.md`.
|
||||
|
||||
**Shipped (this iteration):** installer probes `glxinfo`; if OpenGL < 4.3,
|
||||
writes `settings.terminal = "kitty"` into theme-state. `modules/home/kitty.nix`
|
||||
installs and **themes** Kitty from the same palette/font/opacity as Ghostty.
|
||||
Default HM keeps Ghostty only (no kitty package). Manual override:
|
||||
`settings.terminal = "kitty"` or `nomarchy.terminal = "kitty"`.
|
||||
|
||||
**Still open:**
|
||||
- **V3** on the Acer: fresh install (or hand-set terminal + `nomarchy-home`)
|
||||
→ SUPER+Return opens themed Kitty; Ghostty may still fail if launched by
|
||||
name (expected).
|
||||
- Doctor / calendar classed windows still hardcode `ghostty` — may fail on
|
||||
the same GL floor (separate small follow-up if they matter on old HW).
|
||||
- Live ISO session on HD 4000 still defaults to Ghostty until install (or a
|
||||
live-side probe).
|
||||
|
||||
### 98. Boreal: button text renders black and is difficult to read
|
||||
|
||||
Audit GTK button foreground/background contrast under Boreal, including the
|
||||
@@ -222,7 +202,7 @@ a staircase.
|
||||
a real Nomarchy machine.** Chase the *fallback*, not one font's charset; this
|
||||
was got wrong twice while filing, both times by checking a single font:
|
||||
|
||||
- The mono face is **per theme** (`ghostty.nix:22` → `t.fonts.mono` from the
|
||||
- The mono face is **per theme** (`kitty.nix` → `t.fonts.mono` from the
|
||||
theme JSON), not stylix's default. **Boreal — the default theme and the base
|
||||
state — is `GeistMono Nerd Font`**; the other 23 themes are `JetBrainsMono
|
||||
Nerd Font`. Any answer must hold for both.
|
||||
|
||||
@@ -22,7 +22,7 @@ confidence, default identity, release bar) live in
|
||||
ergonomic writer for the flake. Where a toggle can take effect without a
|
||||
rebuild, it must (`--no-switch` + flip the running service).
|
||||
4. **Beautiful.** One JSON themes the entire desktop coherently — Hyprland,
|
||||
Waybar, Ghostty, btop, rofi, GTK/Qt, boot splash, greeter. Every new
|
||||
Waybar, Kitty, btop, rofi, GTK/Qt, boot splash, greeter. Every new
|
||||
surface follows the palette. Informative, self-gating Waybar modules
|
||||
(they hide when irrelevant). No unthemed corner survives contact with
|
||||
the theme switcher.
|
||||
|
||||
@@ -436,12 +436,9 @@ the **T14s** (webcam case).
|
||||
**without** running `home-manager switch` by hand. **Fail** = still
|
||||
need the recovery one-liner, or GTK/nm-applet still wrong until a
|
||||
manual switch (then the bake is still incomplete).
|
||||
- [ ] **#95 themed Kitty fallback on Acer M5-481T** — after install from an
|
||||
ISO that probes GL < 4.3 (or set `settings.terminal = "kitty"` +
|
||||
`nomarchy-home`): SUPER+Return opens **Kitty** with Boreal (or current
|
||||
theme) colors/font — not unthemed stock. `theme-state.json` should
|
||||
show `"terminal": "kitty"`. Ghostty may still refuse if launched by
|
||||
name (expected on HD 4000). XPS / modern-GL machines keep Ghostty.
|
||||
- [ ] **#95 Kitty-only terminal on Acer M5-481T** — after rebuild/install
|
||||
from main: SUPER+Return opens **themed Kitty**; System › Doctor opens
|
||||
a floating classed Kitty window. No Ghostty on PATH required.
|
||||
- [ ] **#124 flake pin after main-ISO install** — on a machine installed
|
||||
from a **main-built** ISO (post-fix): `~/.nomarchy/flake.nix`
|
||||
nomarchy input must not re-resolve to a lagging `v1` that lacks
|
||||
|
||||
@@ -19,7 +19,19 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-15 — #95: themed Kitty when OpenGL < 4.3 (this commit)
|
||||
## 2026-07-15 — #95 complete: Kitty is the only terminal (this commit)
|
||||
- **Task:** Bernardo: make kitty default and only option — drop dual-terminal
|
||||
complexity (Ghostty failed on Acer OpenGL 4.2; fallback was more code).
|
||||
- **Did:** Removed `ghostty.nix` and `nomarchy.ghostty.enable`. Kitty always
|
||||
installed + themed; default `nomarchy.terminal = "kitty"`. Doctor, calendar,
|
||||
what-changed → `kitty --class=com.nomarchy.*`. Dropped install-time GL
|
||||
probe + mesa-demos. Updated README/REQUIREMENTS/OVERRIDES/TESTING/tools.
|
||||
- **Verified:** V0 flake check; downstream-template-home builds with kitty,
|
||||
no ghostty; installer-safety green.
|
||||
- **Pending:** V3 Acer SUPER+Return + doctor float (HARDWARE-QUEUE).
|
||||
- **Next suggestion:** #123 (HM pre-activate dconf).
|
||||
|
||||
## 2026-07-15 — #95: themed Kitty when OpenGL < 4.3 (superseded above)
|
||||
- **Task:** Bernardo: when GL < 4.3 automatically add kitty — and theme it.
|
||||
- **Did:** `modules/home/kitty.nix` themes Kitty from theme-state (same
|
||||
palette/font/opacity as Ghostty); enables when `nomarchy.terminal` is
|
||||
|
||||
@@ -10,14 +10,12 @@ iteration would otherwise rediscover.
|
||||
- **Doctor float V2:** `THEME=<slug> nix build --impure -f tools/doctor-float.nix`
|
||||
— softGL Hyprland, `nomarchy-menu doctor`, asserts
|
||||
`class=com.nomarchy.doctor` + `floating` + centered midpoints +
|
||||
screenshots. Ghostty *does* start here under softGL (classed one-shot);
|
||||
size often stays Ghostty’s default 800×600 (client geometry wins over
|
||||
the percent `size` windowrule).
|
||||
- **theme-shot softGL cannot start Ghostty** — `btop.png` is best-effort
|
||||
screenshots (Kitty `--class=…`). SoftGL may still struggle with a GPU
|
||||
terminal; size can ignore percent windowrules if client geometry wins.
|
||||
- **theme-shot softGL may not start Kitty** — `btop.png` is best-effort
|
||||
(usually identical to desktop). Guest asserts on
|
||||
`~/.config/btop/themes/nomarchy.theme` prove baking; the TUI look is
|
||||
hardware/GL tier (HARDWARE-QUEUE). Doctor float is the counter-example
|
||||
that a *classed* one-shot Ghostty can still map under softGL.
|
||||
hardware/GL tier (HARDWARE-QUEUE).
|
||||
- **Waybar `custom/doctor` tripwire:** status helper must invoke
|
||||
`nomarchy-doctor` by **absolute store path** (waybar's env can miss
|
||||
system PATH → `command -v … || exit 0` self-hides forever); empty
|
||||
@@ -85,9 +83,9 @@ iteration would otherwise rediscover.
|
||||
(`LIBGL_ALWAYS_SOFTWARE` on virtio-gpu) + `machine.screenshot()` QMP
|
||||
dump — prototyped 2026-06-19, kept as the fallback for theme previews
|
||||
(§ Visual theme picker).
|
||||
- Hyprland/Ghostty need guest GL (`virtio-vga-gl`, `gl=on`) in
|
||||
interactive QEMU or the session won't start; black screen ≈ missing GL
|
||||
(docs/TESTING.md § gotchas).
|
||||
- Hyprland needs guest GL (`virtio-vga-gl`, `gl=on`) in interactive QEMU
|
||||
or the session won't start; black screen ≈ missing GL
|
||||
(docs/TESTING.md § gotchas). Kitty is the sole terminal (no Ghostty).
|
||||
- No KVM = slow, not broken; don't read slowness as failure.
|
||||
|
||||
## Known-broken / watchlist
|
||||
|
||||
@@ -20,7 +20,7 @@ consumes the palette from the state JSON, never a side file.
|
||||
## Design responsibilities
|
||||
|
||||
1. **Holistic design:** a theme spans Hyprland (borders, shadows,
|
||||
animations), Waybar, Ghostty, btop, fastfetch, rofi, and wallpaper —
|
||||
animations), Waybar, Kitty, btop, fastfetch, rofi, and wallpaper —
|
||||
one coherent identity, no unthemed corner.
|
||||
2. **Color theory:** create or adapt advanced palettes. Draw inspiration
|
||||
from established aesthetics (Everforest, Nord, Gruvbox) or r/unixporn
|
||||
|
||||
Reference in New Issue
Block a user