Skip to content

fix(nix): reuse the upstream pinned package in consumers - #806

Merged
hakula139 merged 4 commits into
mainfrom
build/nix-release-binaries
Nov 1, 2026
Merged

hakula139 merged 4 commits into
mainfrom
build/nix-release-binaries

Conversation

@hakula139

@hakula139 hakula139 commented Nov 1, 2026 •

Copy link
Copy Markdown
Owner

Summary

Overlay and Home Manager consumers now reuse the flake's upstream pinned package, allowing Cachix substitution when the caller uses a different nixpkgs revision.

  • Package identity: select the upstream package output on supported flake systems and preserve source construction on existing overlay-only platforms.
  • Integration: retain the source builder and all package outputs, update the existing identity checks, and remove obsolete caller-toolchain workarounds from the installation guide.

Closes #802.

Test plan

  • Commit hooks passed. Overlay and Home Manager checks passed on all three systems, and the native Darwin Home Manager check built with the final caller-package fixture.
  • Old-behavior probes failed for overlay and Home Manager caller-side reconstruction. The existing x86_64 Darwin overlay fallback still selects the original builder.
  • The full repository verification block and native Darwin nix flake check passed before the final test-only fixture correction. That correction passed targeted checks and commit hooks. Cache substitution and release pin publication remain unexecuted.

@hakula139 hakula139 added the enhancement A new user-facing capability or an extension of one (feat) label Nov 1, 2026
@hakula139 hakula139 self-assigned this Nov 1, 2026
@hakula139 hakula139 changed the title feat(nix): install released binaries by default feat(nix)!: install released binaries by default Nov 1, 2026
@codecov

codecov Bot commented Nov 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@hakula139
hakula139 force-pushed the build/release-prepared-assets branch from 4b24bd7 to e01d2d0 Compare November 1, 2026 10:53
@hakula139 hakula139 added this to the v0.1.0-alpha.10 milestone Nov 1, 2026
@hakula139 hakula139 added bug A defect where behavior differs from what is documented or intended (fix) and removed enhancement A new user-facing capability or an extension of one (feat) labels Nov 1, 2026
@hakula139 hakula139 changed the title feat(nix)!: install released binaries by default fix(nix): reuse the upstream pinned package in consumers Nov 1, 2026
@hakula139
hakula139 force-pushed the build/nix-release-binaries branch from 0a0df01 to d47981f Compare November 1, 2026 11:09
@hakula139
hakula139 force-pushed the build/release-prepared-assets branch from bb195fd to 6b00631 Compare November 1, 2026 12:13
Base automatically changed from build/release-prepared-assets to main November 1, 2026 12:23
Reject consumer-side package reconstruction in the overlay check and compare the Home Manager default with the flake package. Parenthesize the compatibility fallback so selecting a pinned derivation does not apply it as a function.
Pass the shallow caller package set through extraSpecialArgs so Home Manager's package setup cannot erase its reconstruction sentinel. Keep the framework and test derivations on the original package set.
@hakula139
hakula139 force-pushed the build/nix-release-binaries branch from 30edd27 to ddc721f Compare November 1, 2026 12:24
@hakula139
hakula139 merged commit f2ee527 into main Nov 1, 2026
21 checks passed
@hakula139
hakula139 deleted the build/nix-release-binaries branch November 1, 2026 12:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug A defect where behavior differs from what is documented or intended (fix)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reuse pinned Nix packages through Cachix

1 participant