feat(theme): opt-in cross-pack icon overrides, no default bloat
All checks were successful
Check / eval (push) Successful in 3m39s
All checks were successful
Check / eval (push) Successful in 3m39s
theme.nix now resolves nomarchy.theme.iconThemePackage from a small icon-pack registry (Papirus/Tela/Qogir/Reversal/Numix, matched by name prefix). Default themes name Papirus-*, so the resolved package is the plain papirus-icon-theme derivation — byte-identical closure, zero added MB. Only when a theme's `icons` names a set from another pack is that pack (and only it) symlinkJoined alongside papirus. stylix.nix consumes it via mkDefault. Adding a pack is one iconPacks row. Deliberately NOT shipping more packs by default: papirus alone is already ~1 GiB and each extra pack adds ~hundreds of MB, so variety is opt-in per install (set `icons` in theme-state.json), not a default closure cost. Documented in templates/downstream/home.nix + ROADMAP § Icon themes. Verification: V1 (HM activationPackage builds). Eval proofs — default resolves to plain papirus (zero delta); icons="Tela-dark" -> nomarchy-icon-themes symlinkJoin (papirus+tela) with the name flowing, without building tela; all 5 pack attrs exist in the pinned nixpkgs; template-sot + option-docs + flake check green. No default visual change (same papirus), so no screenshot; the opt-in render is downstream. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -275,8 +275,17 @@ Design/decision records and a running log of shipped work (items marked
|
||||
- **Icon themes:** ✓ ships `papirus-icon-theme`; the resolved name lives on
|
||||
`nomarchy.theme.iconTheme` (the JSON's optional `icons` field, else
|
||||
Papirus-Dark/Light by `mode`) and feeds both Stylix's `gtk.iconTheme`
|
||||
(Thunar/GTK apps) and rofi's `show-icons`. Remaining (optional): per-theme
|
||||
`icons` overrides for the presets, or shipping more icon packs.
|
||||
(Thunar/GTK apps) and rofi's `show-icons`.
|
||||
✓ **Opt-in cross-pack overrides (no default bloat):** `theme.nix` now
|
||||
resolves `nomarchy.theme.iconThemePackage` from a small pack registry
|
||||
(`iconPacks`: Papirus·Tela·Qogir·Reversal·Numix). Default themes name
|
||||
`Papirus-*`, so the resolved package is the *plain* `papirus-icon-theme`
|
||||
derivation — byte-identical closure, zero added MB. Only when a theme's
|
||||
`icons` names a set from another pack is that pack (and only it)
|
||||
symlinkJoined alongside papirus. Adding a pack = one `iconPacks` row.
|
||||
**Deliberately NOT shipping more packs by default** (Bernardo 2026-07-10):
|
||||
papirus alone is already ~1 GiB and each extra pack adds ~hundreds of MB,
|
||||
so variety is opt-in per install, not a default closure cost.
|
||||
- **Nicer shell out of the box:** ✓ zsh is the default login shell, with a
|
||||
starship prompt themed from the JSON, autosuggestions + syntax
|
||||
highlighting, and modern-CLI ergonomics — `cat`→bat (theme "ansi", so it
|
||||
|
||||
Reference in New Issue
Block a user