I spent four days learning #rust-adjacent toolchains (of which there are four, which are doing some things that are the same and some things that are different: #naersk, #fenix, #rustPlatform, #nixpkgs.#rust).
Throughout these four days I have seen at least a dozen of different error messages. Not a single error message had **anything whatsoever** to do with the error site. Reading traces helped, sometimes, but not always.
If you are a company who has excess money and you want to make the world a better place, please have your R&D department pick up #purenix, I urge you.
I ended up downgrading my whole *large* codebase to #rustStable and simplifying my #flake to:
```nix
{
description = "Flake for building rootrunner with standard nixpkgs Rust and OpenSSL support";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs";
flake-utils = {
url = "github:numtide/flake-utils";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, flake-utils, ... }:
flake-utils.lib.eachSystem [ "x86_64-linux" ] (system:
let
pkgs = import nixpkgs { inherit system; };
in
{
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
rustc
cargo
rustfmt
clippy
rust-analyzer
pkg-config
sqlx-cli
postgresql
sqlite
nodejs
pnpm
zip
unzip
rsync
openssl.dev
openssl
];
};
devShell = self.devShells.${system}.default;
}
);
}
```