!FBuJyWXTGcGtHTPphC:nixos.org

Nix Rust

663 Members
Rust148 Servers

Load older messages


SenderMessageTime
15 Jan 2026
@n4ch7:n3831.netn4ch723hr3r (putting stuff in your name is cringe) joined the room.21:45:52
@logn:zirco.devLogan Devine

Hey folks! I'm trying to get miri to work on Nix Darwin.

I am using rust-overlay for my devShell:

      let
        overlays = [ rust-overlay.overlays.default ];
        pkgs = import nixpkgs { inherit system overlays; };
        llvm = pkgs.llvmPackages_20;
      in
      {
        devShells.default = pkgs.mkShell {
          buildInputs = with pkgs; [
            (rust-bin.selectLatestNightlyWith (
              toolchain:
              toolchain.default.override {
                extensions = [ "rust-src" "miri" "rustc-dev" ];
              }
            ))
            llvm.llvm
            llvm.libllvm
            llvm.clang
            llvm.lld
            pkg-config
            libffi
            libxml2
            nixfmt
          ];

          LLVM_SYS_201_PREFIX = llvm.llvm.dev;
        };

When I execute miri, it seems to believe it can't find cargo-miri:

$ cargo miri run
error: 'cargo-miri' is not installed for the toolchain 'nightly-aarch64-apple-darwin'.
To install, run `rustup component add miri`

I do still see cargo-miri and miri in my Nix store:

ls $(which cargo | xargs dirname)
cargo cargo-miri miri ...(etc)

Anyone got any insight?

23:55:11
16 Jan 2026
@marcel:envs.net@marcel:envs.net left the room.00:49:58
@emilazy:matrix.orgemily fwiw I did pkgs.rust-bin.fromRustupToolchain { channel = "nightly"; components = ["miri" "rust-src"]; } last time I needed Miri. maybe toolchain.default.override doesn't work properly there. not sure 02:47:25
@logn:zirco.devLogan DevineStill doesn't work, hm03:13:56
@accelbread:matrix.orgaccelbreadI've got my miri package definitions here if it helps: [https://github.com/accelbread/flakelight-rust/tree/master/packages](miri packages)05:43:42
@accelbread:matrix.orgaccelbread* I've got my miri package definitions here if it helps: https://github.com/accelbread/flakelight-rust/tree/master/packages05:43:54
@accelbread:matrix.orgaccelbreadHas anyone gotten build-std working with nixpkgs rustc?05:57:29
@logn:zirco.devLogan Devine thank ya, I'll try this out 15:47:28
17 Jan 2026
@mirrorwake:matrix.orgroxie joined the room.03:33:14
@mirrorwake:matrix.orgroxie set a profile picture.03:35:00
@mirrorwake:matrix.orgroxie changed their profile picture.03:37:35
@debtquity:matrix.orgdebtquity

are there any tricks for speeding up local build times for rust packages in nixpkgs?

...
┏━ Dependency Graph:
┃ ✔ stalwart-0.15.3 ⏱ 21m29s
┣━━━ Builds
┗━ ∑ ⏵ 0 │ ✔ 1 │ ⏸ 0 │ Finished at 22:18:53 after 21m38s

20 minutes is wild

06:04:49
@charles:computer.surgeryCharles try disabling runtime performance optimizations like codegen-units = 1 and lto = true https://github.com/stalwartlabs/stalwart/blob/22fc4a795d56264aefd082040c6998c9371b83aa/Cargo.toml#L46-L47 06:21:37
@charles:computer.surgeryCharlesnot sure if that fits your "local" criteria though06:22:30
@debtquity:matrix.orgdebtquityoh, i was hoping to do it from the building side without modifying the project06:22:44
@charles:computer.surgeryCharlesi don't know any such tricks unfortunately (but maybe someone else might?)06:23:11
@charles:computer.surgeryCharles i mean, you could add patches to the derivation to make those changes via overrideAttrs, unless you really mean "without changing any nix code or upstream code" 06:25:20
@debtquity:matrix.orgdebtquityah, i'll give that a shot. what do we lose with LTO, though?06:26:09
@charles:computer.surgeryCharleshttps://doc.rust-lang.org/cargo/reference/profiles.html#lto06:26:46
@charles:computer.surgeryCharlessummary to the point of being unhelpful: you lose some performance06:27:20
@marienz:matrix.orgMarien ZwartShould be about the same performance as a non-incremental release build, if it's way slower than that you may be building at cores = 1 or something along those lines06:28:07
@debtquity:matrix.orgdebtquitymakes sense, so then whatever I write in overrideAttrs shouldn't be pushed to nixpkgs :)06:28:13
@charles:computer.surgeryCharlesyeah06:28:31
@charles:computer.surgeryCharlesfor in-nixpkgs stuff the runtime performance increase is possibly worth the build time increase since it can then be pulled by multiple users from the binary cache without having to build it themselves06:30:40
@debtquity:matrix.orgdebtquity another thing i notice is that everytime i run nix build ./#package, it re-compiles all of the project. I thought rust had some build cache mechanism? 06:33:36
@charles:computer.surgeryCharlesrust does, nix doesn't06:33:51
@debtquity:matrix.orgdebtquityor maybe that's just the nature of nix?06:33:57
@debtquity:matrix.orgdebtquityooh06:33:59
@charles:computer.surgeryCharles* rust (cargo, more accurately) does, nix doesn't06:34:00

Show newer messages


Back to Room ListRoom Version: 6