Repository navigation
Description
Directive (Drew, 2026-10-31 23:10 CDT)
"use unstable" — the amd configuration should not draw packages from a master-tracking nixpkgs. Kill the master input; anything it feeds should come from the nixos-unstable set (or a deliberately pinned exception, justified in place).
Current state (verified on the laptop, 2026-10-31)
flake.nix:98:nixpkgs-master.url = "github:NixOS/nixpkgs"— no ref, so it tracks master. Its pin is currently086873f31aea(also, oddly, the exact revnixpkgs-stableis pinned to).- Consumers of
inputs.nixpkgs-master.legacyPackages:nixos/environment/default.nix— system packages:ghostty,zed-editor,framework-tool,musl,fish; plusPLAYWRIGHT_BROWSERS_PATHfrom master'splaywright-driver.browsers(~line 379).home/common/default.nix:1226—ghosttypackage.
- The system's base nixpkgs is already the root
nixpkgsinput onnixos-unstable; master feeds only the list above.
Why this matters (tonight's evidence)
The 2026-10-30 nixpkgs-update run bumped master c61a74e1 -> 086873f31aea. A master rev that fresh has not been through Hydra, so master-fed packages and their closures build from source. The acceptance build (nix build .#nixosConfigurations.amd.config.system.build.toplevel in ~/git/fleet/nixpkgs-update-2026-10-30) ran 13h13m under fleet load before Drew ordered it killed on 2026-10-31 — and its load is what flaked the watchdog activation switch via code#3199. Completed derivations are cached in the store, so the update itself is resumable; the structural problem is the master input, not the run.
Asks
- Repoint every
nixpkgs-masterconsumer (system packages above, the Playwright browsers path, the home ghostty) to the nixos-unstable package set (nixpkgs-25/ rootnixpkgs, matching what the surrounding config uses). If a specific package genuinely needs to be fresher than unstable, pin THAT package's input deliberately with a comment saying why — no general master set. - Remove the
nixpkgs-masterinput fromflake.nix/flake.lock(and checknixpkgs-stable's pin, which currently equals the master rev — stable should be a release branch or go away too). - Acceptance:
nix eval .#nixosConfigurations.amd.config.system.build.toplevel.drvPathclean and the toplevel builds; no remainingnixpkgs-masterreferences in the tree.
Related: the nixpkgs-update procedure (Muse cron nixpkgs-update-amd) is being restricted to the nixos-unstable set in the same pass, so future updates stop bumping master even before this lands.
Acceptance criteria
- The
nixpkgs-masterinput is removed fromflake.nix(or any retained exception is pinned and justified in place per the directive). - Every former master consumer (system packages in
nixos/environment/default.nix,ghosttyinhome/common/default.nix,PLAYWRIGHT_BROWSERS_PATH) resolves from the nixos-unstable set. - The amd configuration evaluates/builds in CI with no master-tracking input in
flake.lock.
Activity
dezren39 commentedon Nov 1, 2026
Intake review — fleet monitor
Related: filed from Drew's 2026-10-31 23:10 CDT directive; the 2026-10-30 nixpkgs-update bump is the motivating evidence (in body). No merged PR references this issue yet at intake (~30 min after filing).
Notes: body is complete with verified current state (flake.nix:98 and both consumer sites). Consumers are a closed list, so the change is bounded; the risk is a master-only package/version difference surfacing at build time — CI evaluation of the amd config is the check.
Suggested approach: repoint the three consumer sites to the root unstable set, drop the input, refresh flake.lock, let CI build.
Risks: PLAYWRIGHT_BROWSERS_PATH version skew vs. the playwright version in the unstable set.
developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 7382 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
4 remaining items
dezren39 commentedon Nov 4, 2026
agent-note:v1
state: claimed
queue: repo-health-code-pilot
task: 8943 (small_fix, worker repo-worker-code, lane code-f, direct execution lane)
by: repo-queue-worker-shift-f
at: 2026-11-04T05:20Z
Picked up task 8943: drop the nixpkgs-master flake input and repoint consumers to the nixos-unstable set (plus pin or remove nixpkgs-stable) per the packet from triage task 7382. Fresh revalidation: issue #3327 OPEN, priority/high, no hard-stop labels; no open queue PR owns this fix (PR #4519/#4760 mention the area but are not #3327 fixes). Working in a laptop worktree on branch queue/8943-3327-drop-nixpkgs-master; verification is nix eval only, per packet.
Merge pull request #5311 from developing-today/queue/8943-3327-drop-n…
dezren39 commentedon Nov 4, 2026
agent-note:v1
state: done
queue: repo-health-code-pilot
task: 8943 (small_fix, worker repo-worker-code, lane code-f, direct execution lane)
by: repo-queue-worker-shift-f
at: 2026-11-04T06:17Z
Done: PR #5311 merged (merge commit 6ed2ae7); issue #3327 closed by the merge. nixpkgs-master and nixpkgs-stable inputs are gone from flake.nix/flake.lock and every former consumer evaluates from the nixos-unstable set. Verification: nix eval .#nixosConfigurations.amd.config.system.build.toplevel.drvPath passes on the branch (clean-main control also passes; without the one pin exception it failed on broken regex-pcre). Pin exception, justified in place: haskellPackages.misfortune comes from the nixpkgs-25 set because its regex-pcre dependency is marked broken in the fleet-pinned unstable rev. Codex review on PR #5311: completed, no findings.