Skip to content

chore(nix): pin nixpkgs to 20b1ddd1 - #3

Merged
solcik merged 1 commit into
mainfrom
chore/pin-nixpkgs-20b1ddd
Sep 21, 2026
Merged

solcik merged 1 commit into
mainfrom
chore/pin-nixpkgs-20b1ddd

Conversation

@davidsolc-ai

Copy link
Copy Markdown
Collaborator

Summary

This PR pins the unstable flake input to one exact nixpkgs revision.

  • Old revision: ebc08544afa77957cc348ba72dc490ec73b87f68 (2026-04-29, via nixpkgs-unstable)
  • New revision: 20b1ddd1aa5ace70c9468305030aa4f9ef79671b (2026-09-19)

Why

The projects on this machine pinned 9 different nixpkgs revisions.
Each revision pulls its own copy of glibc, Node.js and other tools into /nix/store.
The root filesystem ran out of space.
The host NixOS flake uses 20b1ddd1 as its nixpkgs-unstable input.
With one shared revision, every dev shell reuses the same store paths.

Changes

  • flake.nix: the unstable input URL now names the exact revision instead of the nixpkgs-unstable branch.
  • flake.lock: only the unstable node changed. pre-commit-hooks follows it. No other input moved.

Tool versions in the dev shell

Tool Before (ebc08544) After (20b1ddd1)
bun 1.3.11 1.4.2
nodejs_24 24.14.1 24.20.0

The "before" versions come from nix eval against the old revision. I did not build the old shell, because that would download a second closure.

Verification

  • nix build .#devShells.x86_64-linux.default succeeded: /nix/store/f6g44p7cgx2mrbsasv0rfkyqkili13gb-nix-shell.
  • nix develop -c bun --version printed 1.4.2. node --version printed v24.20.0.
  • bun install --frozen-lockfile installed 7 packages.
  • bun run lint: 0 warnings, 0 errors on 3 files.
  • bun run format: all 8 matched files use the correct format.
  • I did not run nix flake check. Its oxlint and oxfmt hooks call bun run inside the Nix sandbox, where node_modules does not exist.

The unstable input now pins nixpkgs 20b1ddd1aa5ace70c9468305030aa4f9ef79671b.
The previous lock held ebc08544afa77957cc348ba72dc490ec73b87f68.
The host NixOS flake uses the same revision as its nixpkgs-unstable input.
The dev shell now reuses store paths that the host and other projects already hold.

The flake input keeps the name unstable.
Only the unstable node changed in flake.lock.
@solcik
solcik merged commit 95d7e63 into main Sep 21, 2026
2 checks passed
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.

2 participants