Earlier quoted context omitted.
The situation for installing haskell programs with nix is great, practically everything from hackage is available in the binary cache.
Is this harder to achieve for the Rust ecosystem (due to some properties of Haskell perhaps)? Or just no one put in the effort in doing it? Is it expensive to maintain all the binaries for all of Hackage?
You can actually do this today. The buildRustCrate function in nixpkgs creates a derivation for a single Rust crate. You can combine this with crate2nix [1] to make derivations for a crate and all its dependencies in a Cargo.lock file. Every compiled crate will be a separate output in the Nix store and you can upload them to a binary cache such as Cachix.
This is what I have been using for CI in many of my Rust projects in combination with Cachix to get very fast builds.