4 ms·
Why are flakes included in the release notes if they are still "experimental"? Has there been a change in the status of flakes between 2.3 and 2.4?
by orangea 5y ago
Why are flakes included in the release notes if they are still "experimental"? Has there been a change in the status of flakes between 2.3 and 2.4?
- watusername 5y agoNix 2.3 doesn't include Flakes support at all.
- abathur 5y agoI'm not sure what the ~deciders would say, but experimental here means something like "opt-in public beta." Maybe you're drawing a distinction I'm missing, but it doesn't strike me as that weird to note experimental features when the goal is to entice adventurous users to put them through the paces. Is the question more like, "why is there a release if flakes aren't ready?" In that case, yes, I think the release is more pragmatic than semantic. You can read a little more in https://discourse.nixos.org/t/nix-release-schedule-and-roadmap/14204 https://discourse.nixos.org/t/nix-release-schedule-and-roadm..., but basically the release cycle stretched out long enough for a lot of backport friction to build up. To give one big example: the documentation had been converted to markdown in master, but not in 2.3-maintenance--backporting anything with documentation updates also meant re-writing the documentation changes back into docbook.
- asymmetric 5y agoOT: what's the meaning of using ~ before a word, as in ~deciders?
- abathur 5y agoHmm. This isn't something I'm doing terribly consciously, so I'm not sure if this will make sense: ~literally, it means something like "approximately". It would obviously break the sentence if it literally meant "I'm not sure what the approximately deciders would say", so in this case I'm using it more to indicate some uncertainty about the term--that the word-choice is an approximation. I'm not sure if this use is ~common or me-idiomatic.
- pxc 5y agoNix 2.4 is the first Nix release to include the flakes feature, so this is the first chance for Nix users who don't want to run cuts right off the Nix master branch to see what flakes are like, experiment with them, and give feedback. (Previously, to use flakes you'd be running a bleeding edge build of Nix itself as well.) This is a pretty big deal, since flakes bring a new level of determinism to `nix` as you might use it at the CLI, and other built-in Nix tools like `nixos-rebuild`, making it ‘easy’ to pin Nixpkgs and other package sources in your configs. The greater determinism (‘pure evaluation by default’, in Nix lingo) also improves performance, because it provides the Nix language evaluator with more caching opportunities. Flakes are still contentious in some ways inside the community, and the outputs schema of flake.nix files themselves is also kinda verbose (imo), so use of helper libraries to generate outputs is pretty common. My hope as a Nix user is that this release means we can overcome both of those issues in the next year or two and make some solution for deterministic evaluation by default official in the next year or two.