feat(flake): #134 — unstable.<pkg> in the downstream, one input, no hand pins
All checks were successful
Check / eval (push) Successful in 4m16s

Nomarchy now carries a nixpkgs-unstable input and exposes it through
overlays.default as an `unstable` attrset: in the template's
`home.packages = with pkgs; [ … ]` a user writes `unstable.lmstudio`
and is done. Downstream stays one locked input; nomarchy-pull moves it.
lib.nix needed zero changes — mkFlake's pkgs already applies the
overlay. The import is plain and non-recursive, so configs that never
reference unstable. pay nothing beyond the input fetch; allowUnfree
mirrors the base set so the motivating lmstudio resolves.

Home packages are the supported surface (documented convention). Costs
stated in the README, not hidden: you own the pinned+unstable
combination; a second toolchain lands in your closure (~690 of ~4k
paths shared, measured on lmstudio); it moves when the lock moves.
Lock bumps now move two channels — VERIFICATION §5 and CONVENTIONS
updated accordingly. flake.lock gained exactly one node
(nixos-unstable @ 753cc8a); nothing else moved.

Verification: V1 — nix flake check --no-build green; new eval-only
checks.unstable-seam green (26.05pre vs 26.11pre lib.version, no
builds); template HM activation built via mkFlake with unstable.hello
enabled and its closure carries the unstable store path (pg2zfr… vs
pinned nm7p8w…). Implementation by a Sonnet subagent; design and
review on Fable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 15:16:29 +01:00
parent 2f5c1c8b99
commit 07400ab4f9
9 changed files with 108 additions and 28 deletions

View File

@@ -19,6 +19,25 @@ Template:
---
## 2026-07-17 — #134: `unstable.<pkg>` seam shipped
- **Task:** BACKLOG #134 (NEXT, decided shape from this morning's triage).
- **Did:** `nixpkgs-unstable` input + `unstable` attrset in
`overlays.default` (plain lazy import, allowUnfree mirrored);
`lib.nix` untouched by design — mkFlake's pkgs already applies the
overlay. Template opt-in comment (`unstable.lmstudio`), README costs
paragraph, `checks.unstable-seam` (eval-only), VERIFICATION §5 +
CONVENTIONS two-channel lock rules. Lock gained exactly one node
(nixos-unstable @ 753cc8a, 2026-07-15). Sonnet implemented; design +
review here.
- **Verified:** V1 — flake check green; unstable-seam check green
(26.05pre vs 26.11pre lib.version); template HM activation built with
`unstable.hello` and its closure carries the unstable store path
(pg2zfr… vs pinned nm7p8w…).
- **Pending:** nothing; Bernardo's real-world case is him adding
`unstable.lmstudio` to ~/.nomarchy/home.nix whenever he likes.
- **Next suggestion:** queue is NEXT-empty save watches (#143/#146/#149);
NOW holds only the install-findings stub awaiting Bernardo's call.
## 2026-07-17 — #127 CLOSED: the brick was hypridle eating its own resume path
- **Task:** BACKLOG #127 (NOW). Two Sonnet forensics passes over the machine's
journal; interpretation, verdict and close-out here. Bernardo ruled: close +