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:
@@ -17,6 +17,13 @@
|
||||
# nomarchy.terminal = "kitty"; # swap the default terminal
|
||||
# nomarchy.waybar.enable = false; # bring your own bar
|
||||
# nomarchy.stylix.enable = false; # opt out of GTK/Qt theming
|
||||
#
|
||||
# Icon pack: Papirus ships by default (auto Dark/Light by theme mode) and
|
||||
# is the ONLY icon pack in your closure. To use another, set the `icons`
|
||||
# field in your theme-state.json to a theme name from a known pack — only
|
||||
# that pack is then added (no bloat otherwise). Known packs: Papirus,
|
||||
# Tela, Qogir, Reversal, Numix (see modules/home/theme.nix `iconPacks`).
|
||||
# e.g. theme-state.json: "icons": "Tela-dark"
|
||||
|
||||
# ── Opt-in features — uncomment and tweak to enable ─────────────────
|
||||
# nomarchy.nightlight = { # scheduled blue-light filter (hyprsunset)
|
||||
|
||||
Reference in New Issue
Block a user