←back to thread

194 points todsacerdoti | 7 comments | | HN request time: 0.999s | source | bottom
1. pkulak ◴[] No.44608573[source]
> why flakes are nonsense

Oh wow, I want to hear more about that. I love flakes, but I've known they are controversial, and never really heard why.

replies(4): >>44608706 #>>44609717 #>>44609726 #>>44612089 #
2. realo ◴[] No.44608706[source]
I like flakes... I use flakes.

You love flakes... keep using them!

The rest is politics.

replies(1): >>44609655 #
3. pkulak ◴[] No.44609655[source]
For sure. But I find other people's opinions interesting.
replies(1): >>44611786 #
4. hamandcheese ◴[] No.44609717[source]
- flakes perform very poorly in large repos. This might be changing soon with lazy-trees, but I've been waiting for that for 2+ years.

- flake inputs are not fetched lazily.

- flakes are somewhat restrictive in that you can't override an input with an arbitrary value. This matters if you want to pass in, say, a specially configured nixpkgs object. In practice, for non trivial use cases, flakes fail to solve the problem they set out to solve. Most flakes expose lib functions for these advanced use cases but that's pretty much equivalent to what you get with non-flakes.

5. dawnofdusk ◴[] No.44609726[source]
I mean they get evaluated in a weird way: for example you cannot use the `rec` keyword when declaring inputs.
6. chriswarbo ◴[] No.44611786{3}[source]
Here's some of my opinions on flakes, FWIW https://lobste.rs/s/6js1hj/flakes_have_failed#c_byu8ds
7. ethan_smith ◴[] No.44612089[source]
Flakes are controversial primarily because they create a parallel ecosystem that breaks compatibility with the traditional Nix workflow, introduce additional complexity without solving core reproducibility issues, and were developed with limited community input despite representing a fundamental shift in how Nix works.