chore(flake): bump nixpkgs so the dev shell tracks the current pnpm - #97
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
nixpkgsinput so the dev shell provides pnpm 11.21.0 instead of 11.6.0.Why
CI takes pnpm from the dev shell (
nix develop -c pnpm install --frozen-lockfileand thelint/spellchecksteps after it), so the flake is where CI's pnpm version actually comes from. Every other place that installs pnpm across these repos now tracks the current release, and this dev shell was the outlier, pinned through anixpkgsfrom 2026-06-23.Blast radius
Bumping a whole
nixpkgsinput is wider than a pnpm bump in principle, so here is what actually moves between the old and new revs:667d5cf(2026-06-23)c69ae8f(2026-08-18)pnpmrustcclippynodejs_24The Rust toolchain does not move, which is the part that could have broken
cargo clippy --all-targets -- -D warningsthrough new lints. So in practice this is a pnpm bump plus a Node patch bump.nix flake update nixpkgswas used rather than a barenix flake update, so no other input changes. The diff is three lines offlake.lock.Verification
Inside
nix developon the bumped lock:The reported version matching the store path is worth stating, because it shows nothing is re-execing into a different pnpm.
readlink -fis the only way to tell a real binary from a shim, sincepnpm --versioncannot.The pnpm steps from
ci.ymlwere then run through the dev shell:pnpm install --frozen-lockfile: rc=0,Done in 1s using pnpm v11.21.0. Lockfile byte-identical afterwards (cmprc=0), so no dependency drift.pnpm lint: rc=0.pnpm spellcheck: rc=0.cargo fmt --all --check: rc=0.nix flake check --no-build: rc=0,all checks passed!.Not verified locally:
cargo clippy --all-targets -- -D warnings,cargo test, andcargo llvm-cov, which are slow to build here. The table above is the reason for expecting them unaffected, sincerustcandclippyare identical across the two revs, but CI on this PR is what actually establishes it.Note on 11.21.0 rather than 11.22.0
nixpkgs trails the npm
latestdist-tag by a day or two, so a Nix-sourced pnpm is always slightly behind. That is inherent to pinning the toolchain in a flake, and it is the trade the dev shell makes in exchange for being reproducible and offline-capable.