feat(terminal): themed Kitty when OpenGL < 4.3 (#95)
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:
2026-07-15 09:45:32 +01:00
parent a09399702d
commit 1e648b6c49
12 changed files with 179 additions and 71 deletions

View File

@@ -101,9 +101,17 @@ in
terminal = lib.mkOption {
type = lib.types.str;
default = config.nomarchy.settings.terminal or "ghostty";
description = "Terminal emulator command, used by keybinds and $TERMINAL.";
example = "kitty";
description = ''
Terminal emulator command, used by keybinds and `$TERMINAL`.
Default is Ghostty. On GPUs below OpenGL 4.3 the installer writes
`settings.terminal = "kitty"` so SUPER+Return still works (Ghostty
needs 4.3; see docs/REQUIREMENTS.md). Set explicitly to override.
'';
};
kitty.enable = lib.mkEnableOption "Kitty with Nomarchy theming (palette/font/opacity from theme-state); also auto-on when nomarchy.terminal is kitty (OpenGL < 4.3 install fallback)";
keyboard.layout = lib.mkOption {
type = lib.types.str;
default = config.nomarchy.settings.keyboard.layout or "us";