Skip to content

fix(nix): pin Rust toolchain to 1.97.1 and refresh manifest hash - #977

Merged
kucherenko merged 2 commits into
masterfrom
fix/976-nix-toolchain-hash
Aug 29, 2026
Merged

fix(nix): pin Rust toolchain to 1.97.1 and refresh manifest hash#977
kucherenko merged 2 commits into
masterfrom
fix/976-nix-toolchain-hash

Conversation

@kucherenko

@kucherenko kucherenko commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Fixes #976.

nix build failed with a fixed-output hash mismatch on channel-rust-1.97.toml. The flake pinned the sha256 of that channel manifest, but rust/rust-toolchain.toml used the moving channel 1.97 — static.rust-lang.org rewrites channel-rust-1.97.toml on every 1.97.x patch release, so the Rust 1.97.1 release (2026-07-16 manifest) invalidated the pinned hash.

Changes:

  • Pin rust-toolchain.toml to the exact version 1.97.1, so fenix fetches the immutable channel-rust-1.97.1.toml and the hash can never drift again within a channel.
  • Update the flake's sha256 to the new manifest hash, with a comment noting the exact-patch-pin requirement.

Verification: the flat sha256 of the current manifest computed locally is sha256-A1abGIbOtcBSdrUMhDGrER3pRM1hQP4fp9gh3Y4PKc8=, byte-for-byte matching both the got: hash reported in #976 and channel-rust-1.97.1.toml (the two files are identical). CI workflows use dtolnay/rust-toolchain with 1.97 and resolve to 1.97.1 independently of this hash, so they are unaffected.


This change is Reviewable

The flake pinned the sha256 of channel-rust-1.97.toml, a mutable file
that static.rust-lang.org rewrites on every 1.97.x patch release; the
1.97.1 release changed it and broke nix build with a fixed-output hash
mismatch. Pin the exact patch version so fenix fetches the immutable
channel-rust-1.97.1.toml, and update the hash to match.

Fixes #976

Claude-Session: https://claude.ai/code/session_01VvWzWfEK6oV4HTe6EoGkff
Pinning rust-toolchain.toml to 1.97.1 made rustup auto-install a bare
1.97.1 toolchain in CI instead of using the dtolnay-installed 1.97 one
that carried clippy and rustfmt, failing the Clippy step. Declare the
components in the toolchain file so any auto-install includes them, and
align the workflow toolchain pins to 1.97.1 so CI installs the exact
toolchain cargo resolves.

Claude-Session: https://claude.ai/code/session_01VvWzWfEK6oV4HTe6EoGkff
@kucherenko
kucherenko merged commit 59ce9cf into master Aug 29, 2026
15 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.

nix build error

1 participant