Federated Republic of Sean is a user on retro.social. You can follow them or interact with them if you have an account anywhere in the fediverse.

Rewriting a document rendering Makefile with Nix, and I'm again struck by how good it is. Need Pandoc and TexLive? Specific fonts? Post-processing tools? Spell checkers? You got it. It's all there, unified in Nix with an actual programming language.

Federated Republic of Sean @freakazoid

@owi Does Nix have advantages over Guix?

@freakazoid I haven't used guix. I'm on Fedora and using only nix the package manager. Are you using guix?

@freakazoid I do like the idea of a lisp, though.

@owi Nope, but even though Nix came first and I heard about it first, there are a lot more people in my feed using Guix for some reason. It might just be due to its being copyleft, but I was thinking there might be technical reasons, too. I haven't yet gotten to the @librelounge episode about it yet, so hopefully that will enlighten me as to the differences.

@freakazoid @owi far more software (~40k packages) than Guix (~7k packages). Is more up-to-date (unstable 20% outdated, 80% newest) than guix (33% outdated, 67% newest). Source: repology.org/repositories/stat

@tokudan @owi Ok that sounds like a good reason, though the up-to-dateness of the packages isn't as big a concern to me as stability. Any idea about ease of making packages? If it's not hard to make them, then the actual number doesn't matter so much.

@freakazoid @owi
what is stability?
stability in the sense of "programs wont segfault all the time" or "changes as little as possible"?
Many version updates for programs are done by a bot in nixpkgs (using repology) and humans just click the merge button after having a quick look.
So if e.g. Arch packages a newer version of abcde, the bot will notice this and try to update the package in nixpkgs during the next run and checks if it builds.
I can't remember any recent segfaults or similar for me.

@tokudan @owi These two are somewhat related: new features introduce new bugs. But from a practical standpoint, what it means with Debian Stable is that I can enable unattended-upgrades and just read the emails that it sends me at my leisure. The important thing really is that there's some kind of distinction between maintenance and feature releases of packages, and that the whole shebang is tested together at least within a minor (vs patch) release.

@freakazoid @owi Well, the channels only advance after an automated CI test. I don't know how the tests are done in Debian, so I cannot compare anything.
This website links to the CI, shows which channel is at which commit and when the channel last advanced: howoldis.herokuapp.com/
To get an idea about the automated tests: hydra.nixos.org/job/nixos/rele

@tokudan @owi Looks like it's at least as easy as Arch packages, with a much cleaner way to express more complex configs. Nice! I'll have to dig through the Guix packages to compare.