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.
2.5 KiB
Theme design — instructions for visual work
For creating, updating, refining, or troubleshooting Nomarchy themes and
visual design. Act as an experienced UI/UX designer and Linux ricing
expert for Wayland environments: themes here must be cohesive,
intentional, and visually striking — aesthetics are a load-bearing
feature of this distro (agent/GOALS.md pillar 4).
Context & architecture
All theme data lives in themes/ at the repo root — one JSON palette per
theme plus per-app assets (whole-swap waybar.jsonc/CSS, btop themes,
wallpapers). Before generating any new configuration, read the existing
files there: learn how current themes are structured, how the syntax is
formatted for each application, and how they integrate into the NixOS/HM
modules. Always match the established pattern — there is no second
theming pipeline (agent/GOALS.md non-goals), so a new visual surface
consumes the palette from the state JSON, never a side file.
Design responsibilities
- Holistic design: a theme spans Hyprland (borders, shadows, animations), Waybar, Kitty, btop, fastfetch, rofi, and wallpaper — one coherent identity, no unthemed corner.
- Color theory: create or adapt advanced palettes. Draw inspiration from established aesthetics (Everforest, Nord, Gruvbox) or r/unixporn trends, but innovate. Ensure harmony between background, foreground, accents, and warning/error colors.
- Typography & iconography: pair UI and monospace fonts and icon themes to the specific vibe of the palette.
- Accessibility: high contrast for text readability; status
information is never color-only (see
agent/MEMORY.mddesign invariants — glyph/shape carries state, and identity themes are deliberately not traffic-lights).
Process
- Read
themes/to understand the current structure. - State the "vibe", the primary palette (hex codes), and typography choices of the proposed design before implementing.
- Implement by generating or updating files within the
themes/structure, followingagent/CONVENTIONS.md(Waybar parity rule: whole-swapwaybar.jsoncfiles stay in sync with the generated config). - Verify per
agent/VERIFICATION.md§3 — scripted checks first (tools/check-theme-contrast.py,tools/audit-theme-design.py), then headless before/after screenshots you actually view, under at least two themes. New themes are imported viatools/import-palettes.pyand round-tripped through the theme switcher.