An easy-to-host PDS on the ATProtocol, MacOS. Grandma-approved.

fix(MM-65): address PR review — toolchain parity and CLAUDE.md

- Use fromRustupToolchainFile instead of stable.latest so nix build
and nix develop always resolve the same Rust toolchain
- Remove crane.inputs.nixpkgs.follows (crane has no nixpkgs input;
it takes pkgs as an argument)
- Add nix build .#relay command to CLAUDE.md Commands

+3 -2
+2 -1
CLAUDE.md
··· 1 1 # ezpds 2 2 3 - Last verified: 2026-03-07 3 + Last verified: 2026-03-08 4 4 5 5 ## Tech Stack 6 6 - Language: Rust (stable channel via rust-toolchain.toml) ··· 10 10 11 11 ## Commands 12 12 - `nix develop --impure --accept-flake-config` - Enter dev shell (flags required; --impure for devenv CWD detection, --accept-flake-config activates the Cachix binary cache in nixConfig — without it, a cold build takes 20+ minutes) 13 + - `nix build .#relay --accept-flake-config` - Build relay binary (output at ./result/bin/relay) 13 14 - `cargo build` - Build all crates 14 15 - `cargo test` - Run all tests 15 16 - `cargo clippy` - Lint
+1 -1
flake.nix
··· 26 26 inherit system; 27 27 overlays = [ (import rust-overlay) ]; 28 28 }; 29 - rustToolchain = pkgs.rust-bin.stable.latest.default; 29 + rustToolchain = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml; 30 30 craneLib = (crane.mkLib pkgs).overrideToolchain rustToolchain; 31 31 32 32 commonArgs = {