And while nix may be battle tested that doesn’t translate to a good experience, the learning curve is high and the documentation while plentiful is not really good or helpful to beginners. Plus the entire thing is in flux right now between flakes, home-manager, and a desire to kill nix-env.
> Plus the entire thing is in flux right now between flakes, home-manager, and a desire to kill nix-env.
This is my big gripe with Nix. There are so many things that are almost ready, or almost integrated, and advanced users are typically already using them. It makes it feel like next year will always be a better time to recommend Nix to newbies.
And a lot of the more ambitious contributions to Nix and Nixpkgs that are really, really exciting as a user tend to sit in pull request limbo for a very long time, sometimes dying on the vine. Guix doesn't seem to have that problem yet, but I don't follow it as closely.
It's painful to feel sort of totally married to it but also like I can't whole-heartedly recommend picking it up to most people I know who might enjoy it once they got going.
Not sure what level exactly a beginner is, but I have my problems with Guix docs too. Try making a package for example. Took me a long time and multiple questions on mailing list and irc to get it done. People also recommend more than 1 different strategies. Then try upgrading a package, when there are some files you want to exclude. How to do that? Seems I can not find answers for my questions in the docs and always find myself asking on mailing list or irc. There people are helpful and mostly you get an answer. I like Guix as package manager, but their docs can definitely be improved with loads of examples and tutorials.
> Not sure what level exactly a beginner is, but I have my problems with Guix docs too.
Oh don't get me wrong, I'm not saying guix is better (I have absolutely no idea), just that the experience with nix is extremely rough so nix being a bit more popular is not necessarily that much of an edge (or one at all).
> I like Guix as package manager, but their docs can definitely be improved with loads of examples and tutorials.
In fairness I'll say that especially if you're a long term user it is very easy to be blind to the early user experience. Sadly most projects don't push new users towards really reporting their experience or even contributing to the docs, but if you have the time and inclination to do so I'm quite convinced your experience would be extremely valuable to those who'll come after you, even if the project doesn't necessarily value them that much (but even then it can be useful as evidence of issues with the early experience / uptake, and possibly efforts to rectify them later on).
It's also useful on a personal level, because memory is a fickle thing and a year from now you may not even remember your struggles.
I've not yet had the energy or patience to learn the TexInfo format, which is a standard for GNU projects. But if anyone wants to put what I have in the Guix docs, even as merely an example or tutorial, I wont mind.
I know that is possible, but I did not try, because I do not know, whether such an export would be a "drop-in-and-done" for the structure or nesting depth, if such things exist, in the actual documentation, or would have to be modified a lot to put in the docs.
I found the easiest way to answer those questions is to look at how other packages do it.
The issue here isn't just that the documentation is lacking, but that Guix wants to have everything done in Scheme, so you often run into the issue of having to translate code you already have running in Bash into whatever Scheme equivalent Guix wants.
... why would other sites not count "Guix uses a language the author might already be more comfortable with" as an argument for why the author might prefer Guix?
And while nix may be battle tested that doesn’t translate to a good experience, the learning curve is high and the documentation while plentiful is not really good or helpful to beginners. Plus the entire thing is in flux right now between flakes, home-manager, and a desire to kill nix-env.