Skip to content

flake: bump nixpkgs to 44a9189 (cached nodejs-slim 26.9.0) - #10

Merged
jabdinghoff merged 1 commit into
nixosfrom
claude/epic-volta-oirrg7
Sep 22, 2026
Merged

jabdinghoff merged 1 commit into
nixosfrom
claude/epic-volta-oirrg7

Conversation

@zeratax

@zeratax zeratax commented Sep 22, 2026

Copy link
Copy Markdown
Owner

Fixes the CI failure on run 35408450363.

What broke

The lock at ab519a8 landed on a nixpkgs (e554fab) where nodejs-slim 26.9.0 failed to build on Hydra — node's own test-fs-cp-async-file-modes.mjs trips on a chmod inside the build sandbox (NixOS/nixpkgs#564449). Because it failed upstream, it was never pushed to cache.nixos.org.

Node 26 is in the closure via one LSP:

home-manager-generation → home-manager-path → neovim-0.12.5
  → vue-language-server-3.3.11 → pnpm-11.27.0 → nodejs-slim-26.9.0

nixpkgs' vue-language-server does pnpm_11.override { nodejs-slim = nodejs-slim_latest; }, so it pulls node 26 even though the nixpkgs default is still node 24. That put a from-source V8 build on the critical path of every CI job: the aarch64 runner reached the test phase and went red, and x86_64 was cancelled at 87 minutes still compiling.

What this changes

nixpkgs only: e554fab (Sep 17) → 44a9189 (Sep 20, current nixos-unstable). Three lines in flake.lock. Hydra has since built nodejs-slim 26.9.0 green on both architectures.

nur's own nixpkgs pin is unrelated to this failure and is left alone.

Verification

Store paths evaluated locally and checked against cache.nixos.org before pushing:

old e554fab new 44a9189
nodejs-slim_26 x86_64 missing cached
nodejs-slim_26 aarch64 missing cached
vue-language-server x86_64 missing cached
vue-language-server aarch64 missing cached

The old-rev aarch64 path (0pnrss6n3aspfki7hglgiillsrwwfc7f-nodejs-slim-26.9.0) matches the failing path in the job log exactly, confirming the local evaluation reproduces CI's derivations.

Also checked:

  • Full closures substitute from cache.nixos.org at the new rev — vue-language-server (63 paths) and neovim-unwrapped (24 paths), both architectures.
  • stdenv is byte-identical between the two revisions, so nothing rebuilds.

Note for later

The upstream test fix is merged (nodejs/node#66104, 92395e7, Sep 20) but is not in a release yet — 26.9.0 is still the newest. If a nixpkgs change invalidates the node derivation before the next 26.x ships, the unfixed source could flake again. The escape hatch is vue-language-server.override { nodejs-slim_latest = nodejs-slim; }, which drops the closure back to the always-cached node 24.

🤖 Generated with Claude Code

https://claude.ai/code/session_01K9nRfg2hbmJ14xHkv3h3yY


Generated by Claude Code

The previous lock (e554fab) landed on a nixpkgs where nodejs-slim 26.9.0
failed to build on Hydra (NixOS/nixpkgs#564449: node's own
test-fs-cp-async-file-modes.mjs fails on a chmod in the build sandbox), so
it was never pushed to cache.nixos.org. vue-language-server pulls node 26
in via `pnpm_11.override { nodejs-slim = nodejs-slim_latest; }`, which put
a ~2h source build of V8 on the critical path of every CI job — and the
aarch64 runner then hit the same test failure and went red.

Hydra has since built nodejs-slim 26.9.0 green on both x86_64-linux and
aarch64-linux. Verified against cache.nixos.org before committing: at
44a9189 the full closures of vue-language-server (63 paths) and
neovim-unwrapped (24 paths) substitute completely on both architectures,
and stdenv is byte-identical to e554fab, so nothing rebuilds.

Only the top-level nixpkgs input moved; nur's own nixpkgs pin is
unrelated to this failure and is left alone.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K9nRfg2hbmJ14xHkv3h3yY
@jabdinghoff
jabdinghoff merged commit 8edc8ec into nixos Sep 22, 2026
4 checks passed
@jabdinghoff
jabdinghoff deleted the claude/epic-volta-oirrg7 branch September 22, 2026 07:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants