Wow, i wasn't interested at first because i'm already using flakes and i didn't think this had much value to me - i don't mind adding a flakes repo directly, for example. Then someone linked the discussion on Discourse[1] which has..:
> FlakeHub not only indexes flakes, but provides a mechanism for fetching compatible versions based on Semantic versioning — and, unlike pinning tags in your flake.nix inputs, keeping them up to date.
> This means that you can specify that you want your input to be compatible with whatever is the latest release at the time that you add it, and get bugfixes with every nix flake update, without manually having to keep track of the releases made upstream, nor follow a development branch which may introduce breaking changes at any time.
Which is stupidly sexy to me. Semver-like is something i've been wanting so badly from Flakes/Nix. This has my attention now.
[1]: https://discourse.nixos.org/t/introducing-flakehub/32044/6
Something I've wanted is more customizable upgrade logic for selecting versions, especially upgrades for end-user packages. e.g. latest tagged release (without having to update the package/flake), latest tagged release but wait a week/month (like phased releases but end-user configurable), HEAD but no more than once a week (so you aren't compiling packages every day, c.f. emacs), whatever the latest version is provided it is in cachix, etc
I'm so glad you think so! We sure agree :). We're hoping this mechanism helps get some predictability, like that all the platforms that are listed fully evaluate as expected.
Are you able to elaborate on some of the shade being thrown in that linked thread? There appears to be some politics around this, or determinate systems, or something.
Not really, i don't follow it closely. I believe some others in this thread dive into it a bit.
My (mostly assumed!) takeaway is that Flakes isn't perfect, and many existing users don't like that a very important part of Nix is being rushed. Conversely, many Flakes users think almost the exact opposite -- that Flakes has been taking too long and Nix is incomplete without it (i'm more in this camp).
All around though i don't have the energy to partake in this holy war, so i mostly ignore it. I'm sure i am wrong on some important details, so please don't take what i say as more than it's worth.
The problems here are not exactly flakes going too slow or too fast.
It is that the historical developer of nix, who was also behind flakes, moved to create a company called Determinate Systems. And this company keep pushing out products that are "ways to fix all kind of problems with nix and flakes".
Except they are done in secret then announced, while the rest of the community is trying to actually make the underlying stuff just work.
It is a bit like the guy built a half finished stuff, good enough for him, leave it in this state, then keep coming back with "solutions" that are not in nix themselves. And let everyone else clean his stuff.
Ofc the other way to look at it is that they are the only one having results and really fixing things. But I am on the side of all the other maintainers that keep having to clean up the mess.
I knew this was you before I looked at the username lol
I had no idea about this, actually. That certainly throws a wrinkle into all of it
Thank you both.