4 ms·
I use NixOS, one of the annoying things to me is the documentation and error reports. I swapped my installation to a Flake managed install a few months ago, an
by ChocolateGod 2y ago
I use NixOS, one of the annoying things to me is the documentation and error reports.
I swapped my installation to a Flake managed install a few months ago, and parts of my Nix files that were perfectly fine before started throwing out errors (specifically HomeManager), which no amount of Googling the error message that gone thrown got me any closer to a solution.
I looked at documentation recently to try and enable PGO/LTO and Zen 3 optimizations (don't mind compiling everything) and I think I saw at least 10 ways and none worked (gcc errors, etc).
- lolinder 2y agoThis is why I haven't switched my NixOS to flakes yet. The community discussions always act as though flakes should be the default that everyone should use now, but I figure that the developers know what they're doing and haven't made them the blessed path yet for a reason. So far so good—my system is far more stable than it was under Debian and I've yet to run into anything that didn't have an easy answer. I have a suspicion that because the Nix community is disproportionately likely to contain early adopters, the general mood in the forums is less risk-averse than I am with my primary stacks.
- sshine 2y ago> I figure that the developers know what they're doing and haven't made them the blessed path yet for a reason. My take is: flakes don’t align with centralised nixpkgs and ultimately don’t solve any problems that can’t be solved without flakes. They’re just an interface for a decentralised module system. You can use them, they’re feature-complete, and they don’t align with nixpkgs: it doesn’t make sense for individual packages to have their own flakes, nixpkgs can already be loaded as a flake. FlakeHub tries to popularise flakes, but I don’t know if there is a flake discovery problem to solve. Ekala Project is designing a poly-repo alternative to nixpkgs (ekapkgs) and they don’t embrace flakes. So... Flakes have reached full maturity: a decentralised package format that has stalled its adoption status within the main Nix toolchain.
- 0x457 2y ago> My take is: flakes don’t align with centralised nixpkgs and ultimately don’t solve any problems that can’t be solved without flakes. I've turned to flakes to specifically solve some problems, and flaked solved them. To this day, flakes are still the only way to solve them. Flakes aren't default due to political reasons.
- nixosbestos 2y agoYeah, I am flabbergasted that anyone can claim flakes don't solve problems. And yet, every SINGLE WEEK some newcomer gets tripped up on channels, managing them, realizing the root's channels are different than users, realizing their channels are out of sync on their multiple machines, no posting their channel revision when they solicit help. Not to mention pure eval. Not to mention transitive dependency overriding.
- sshine 2y ago> I am flabbergasted that anyone can claim flakes don't solve problems Yes, that would be an outrageous claim! That is, of course, not what I said. Arguing that channels lead to more problems than flakes is a good argument in favour of adoption of flakes. But you can also abandon channels without adopting flakes. Which is what I said: flakes don’t solve any problems that can’t be solved without flakes.
- nixosbestos 2y agoWhich is why I mentioned transitive dependency management, and pure eval. Both of which are absolutely not solved by npins, etc.
- 0x457 2y agoI mean, nix isn't solving any problems that can't be solved without. This can be said about nearly anything in your universe. The point is: flakes are solving issues now in nix, and nothing else _right now_ can solve them in nix. I'm using flakes because they are currently the best path forward. Provide an alternative path that is better, and I will switch.
- ChocolateGod 2y agoI'm glad I'm not the only one who's grinding their gears with flakes. I decided to migrate to flakes because a lot of the documentation for things I wanted to do with NixOS required flakes. It took me at least a few hours to understand what the purpose of them was though. I just wish the documentation would be improved really, as an example https://nixos.wiki/wiki/Build_flags#Building_the_whole_system_on_NixOS https://nixos.wiki/wiki/Build_flags#Building_the_whole_syste... no longer works (gcc complains).
- SuperSandro2000 2y agoBe the change you want to see and help documenting the missing parts. Also that is the old wiki but the same stays in the new one.
- deleted 2y ago[deleted]
- joshcsimmons 2y agoWorth noting that ChatGPT et al. Are equally useless for debugging Nix. Frustrating that it’s so far behind. Error messages are often cryptic and misleading.
- ChocolateGod 2y agoYep, I thought ChatGPT was trained on Github but it's generated precisely 0 correct .nix files for me to date.
- SuperSandro2000 2y agoAre you complaining that AI is not the savior of everything?
- pasc1878 2y agoI suspect Sturgeons law is at work here. "90% of everything is crap" I can believe that especially with nix - there isn't a defined way to do things. Most flakes out there will be done by newcomers learning and flakes is relative new e.g. 2020. The documentation of nix is bad. SO ChatGPT3 had very little good stuff to learn from and later won't have much better.
- ChocolateGod 2y agoA lot of the documentation includes code snippets but with no detail or context on where those snippets should be, so ChatGPT often puts things in the wrong place.
- pasc1878 2y agoAs noted most of things are crap - here the thing is documentation