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,27 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-10 — Icon themes: opt-in cross-pack overrides (no default bloat)
|
||||
- **Task:** LATER "per-theme icon overrides / more icon packs". Recon found
|
||||
papirus is already ~1 GiB and ships only Papirus/Dark/Light (no free
|
||||
variety); real variety needs extra packs at ~hundreds of MB each. Bernardo
|
||||
chose the **opt-in, no-default-bloat** shape (over shipping packs).
|
||||
- **Did:** `theme.nix` resolves `nomarchy.theme.iconThemePackage` from a
|
||||
small `iconPacks` registry (papirus·tela·qogir·reversal·numix, by name
|
||||
prefix). Default themes name `Papirus-*` → resolves to the *plain* papirus
|
||||
derivation (no symlinkJoin, identical closure); only a theme naming another
|
||||
pack's set symlinkJoins that one pack in. `stylix.nix` uses it
|
||||
(mkDefault). Opt-in note in `templates/downstream/home.nix`; ROADMAP §
|
||||
Icon themes updated (incl. the deliberate no-default-packs decision).
|
||||
- **Verified:** **V1** — HM activationPackage builds (exit 0). Eval proofs:
|
||||
default `iconThemePackage` = plain `papirus-icon-theme-*` (zero delta);
|
||||
with `icons="Tela-dark"` → `nomarchy-icon-themes` symlinkJoin (papirus+tela)
|
||||
and name flows, **without building tela**. All 5 pack attrs exist in the
|
||||
pinned nixpkgs. `template-sot` + `option-docs` + `flake check` green.
|
||||
- **Pending:** none. No default visual change (identical papirus), so no
|
||||
screenshot needed; the opt-in render is the downstream user's to see.
|
||||
- **Next suggestion:** NEXT still #76 `[blocked:hw]`; LATER/QA-sweep next.
|
||||
|
||||
## 2026-07-10 — #76 slice 3: hibernate VM test (V2 PASS) → #76 agent-complete
|
||||
- **Task:** BACKLOG #76 slice 3 — the mandatory V2 hibernate test + V3 queue.
|
||||
- **Did:** Added `checks.hibernate` (flake.nix), modeled on nixpkgs'
|
||||
|
||||
Reference in New Issue
Block a user