3 ms·
I really can't believe they didn't finalize Flakes in this release. The difference between it and the "standard" way of doing things is night-and-day. these so
by _huayra_ 5y ago
I really can't believe they didn't finalize Flakes in this release. The difference between it and the "standard" way of doing things is night-and-day.
these sort of "secret better ways of doing things" that are not the default really frustrate and drive away new users
- mikepurvis 5y agoAs another learner, I'm pretty upset about this as well. Standard install gets you nix 2.3.12 (https://nixos.org/download.html https://nixos.org/download.html), but to get flakes, you have to be on nix-2.4pre20210503_6d2553a: https://nixos.wiki/wiki/Flakes#Non-NixOS https://nixos.wiki/wiki/Flakes#Non-NixOS (And yeah, obviously all the docs are non-flake too, which leads to confusion about flake.nix vs default.nix...)
- e3bc54b2 5y agoBy the way things are, I doubt they'll be stable in next release either. There were some pretty fancy things in last year's NixCon so devs might just push on that. But the problem is, many many new shiny things are so comingles with flakes that they are now stuck in limbo, thanks to the one amazing feature that was showcased back in 2019 and then rotted away in implementation hell. Initial RFC was rushed, barely discussed (there are lots of comments, but very little progress, as is the way with flakes) and then simply merged as experimental akin to pushing mess under the carpet. Well the mess was useful, but now the carpet is uneven and the first timers can barely walk straight. I just want a conclusion on flakes, any conclusion would be better than this stupid silent march.
- _huayra_ 5y agoI wonder if there are any contentious design decisions left in flakes. I've still new to Nix, but it seems pretty solid (the only thing I've seen is that `nix flake info` is now `nix flake metadata` or something minor). The only missing thing I've seen is how to load a repl with flake contents easily, but I usually do: nix-repl> builtins.getFlake (toString ./.) when I'm in the flake directory. It would be nice to have `nix flake repl` as well.
- tazjin 5y agoThe problem with this is that flakes are currently an experiment, and one which many people in the community think has flaws that need another iteration. Making it stable now locks Nix into the current flakes model forever - it's too early for that.
- e3bc54b2 5y agoAgree. I think the core of the problem was that we didn't get a discussion before implementation. We got an implementation and then were given chance to discuss upon. So when the discussion pointed out flaws, since so much work was already put in, it was decided to push as experimental instead of starting from square 1. But now that implementation was available for everyone with simple flag change (a strength of Nix, if I might say), adventurers started using them. And since these adventurers have outsized impact in terms of mind share projection, the community looks divided and confuses the hell out of newcomers. I know I struggled with this because when I started learning 'The Nix Way™', flakes were the hotness and everywhere, but the documentation sucked, but still looked like they were the future so I had to wade my through anyway.
- _huayra_ 5y agoWhat part of flakes might be up for discussion? The only quirky part I see is how one has to "rewire" inputs of your own inputs (e.g. nixpkgs from an input to one's current flake) via that `follows` directive, but overall it's been rather pleasant compared to channels!