Looking for open-source repos with slow nix eval

We’re looking for open-source repos where nix eval is very slow. If you have one, please send them our way! We’re working on alternative frontend to Nix (which is already quite a bit faster in our smaller tests), and would love to have benchmarks and things to profile.

Rust and Haskell projects preferred, but everything is welcome.

8 Likes
20 Likes

We have a different language than Nix; converting individual builders such as buildRustPackage isn’t hard, but doing it for all of Nixpkgs is. And my impression is that individually packages in Nixpkgs tend to evaluate quite quickly compared to frequently updated repos.

That sounds like a really interesting project, and it’s great to see work being done on improving Nix performance. Unfortunately, I don’t have a specific repository to point you to right now, but I’ve definitely seen larger Rust and Haskell monorepos where nix eval can become noticeably slow, especially when there are complex overlays, large dependency graphs, or heavily parameterized expressions. You might want to look at sizable Haskell projects using Nix flakes or big Rust workspaces with custom tooling. Sharing your findings and benchmarks later would also be very valuable for the community.

This one has a few nixos configurations in checks for various combinations of filesystems: GitHub - nix-community/disko: Declarative disk partitioning and formatting using nix [maintainers=@Lassulus @Enzime @iFreilicht @Mic92 @phaer]

This one has a 29 NixOS machines: GitHub - TUM-DSE/doctor-cluster-config: The servers configurations of https://dse.in.tum.de/
Parallel evaluation: 3.50s

This one was a stress test for my buildbot: clan/clan-core: Build your own clan - clan-core - gitea: Gitea Service
190 check outputs.

Thanks all! It does seem like NixOS is where we’d see the main effect. Might take a little bit before we support that.

Here’s a blog about some of the work we’ve done on this.

2 Likes

amazing blog post, as always! the repo mentioned in the blog post is not public yet, though

thanks for sharing :star_struck:

1 Like

Thanks for pointing that out (and for the kind words) - fixed!

1 Like

The blog post says:

Nov 2, 2026

So garn2 truly is a thing of the future :slight_smile:

4 Likes

Thanks for pointing it out - fixed!

The Haskell ecosystem is a great example because of how much nix is used there. Those giant dependency graphs really stress test the evaluator. Same with Rust workspaces, especially when people are doing fancy things with crate2nix or fenix. I’ve seen eval times climb into minutes for what should be simple operations.

What’s interesting is that the slowness isn’t always predictable. Sometimes a small change in a seemingly unrelated file can blow website up evaluation because of how nix forces things. The laziness helps but it also makes performance harder to reason about.