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
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
The rust-toolchain.toml specified channel = "stable", which caused
cargo to use the stable toolchain instead of 1.87. Cross-compilation
targets were being added to 1.87 but cargo switched to stable (via
rust-toolchain.toml), which didn't have them installed.