void linux. it uses runit and it’s a rolling-release. i like runit because i don’t like the systemctl command for some reason. doing ln -s /etc/sv/serv_name /var/service and sv up serv_name is way nicer imo.
They have solid community and financial backings, they do tremendous work pushing the Linux desktop forward, it’s close to vanilla and the sweet spot between stable and bleeding edge (aka “leading edge”) for me personally.
Arch, becaus AUR and rolling. Alpine, because lightweight. opensuse tumbleweed, because rolling and SUSE does cool stuff. NixOS because declarative. Guix, because declarative and bootstrapping.
Those are just the distros I use, I’m sure others are nice too.
I’ve moved to Ubuntu after getting burned pretty badly with CentOS’s getting mistreated and eventually killed. Ubuntu feels stable enough, both in terms of their updates/quality and in terms of their corporate proceedings (such that I won’t get absolutely blasted by mandatory repos being closed down, for example).
NixOS. There are lots of great things about it (like atomic upgrades, easy rollbacks, no dependency hell, safely mixing stable and unstable packages, and more) but it’s killer feature is that (almost) everything about the system is specified in a single config file
Arch because the packages are recent. Arch has no shiny innovation and even the performance is not that fast, but I always find a way to make everything working. It is the only distro like that for me.
Nixos.
The ability to have my whole system in a git repo is what i have been looking for when i did not know it.
Steep freaking curve though and the documentation kinda blows. But its the distro ive spent the longest on apart from Arch, and i feel quote at home even though most stuff is done differently.
Also, mixing stable and unstable packages; also nix run/shell/develop. On the other hand, error messages sometimes outcompete those from cpp in being confusing AF 🤣
Nix package managers have the worst error messages. But I like it for it’s reproducibility. I’m contemplating moving over to Guix, as the Guile language is quite developed, and the GNU folks are taking a dive into experimental Guile REPL for debugging services and apps, which is going to be quite interesting.
I did some research on guix when i was deciding which one of the two i was going to try as a daily driver.
My conclusion was that choosing guix would mean choosing a smaller community and amount of support for a better language.
Would love your opinion if youve done your research on it. Why choose guix over nixos?
Most of my reasoning is experimentation to alternative form of OS interaction, and I would not use it for serious computing. NixOS is a different thing - since I have only one laptop, so I took the gamble, and I’ve enjoyed it, but if I can afford another device, I won’t do something risky like that again without playing around with a VM. I’ve toyed around with Guix, and I’ve enjoyed it, but my justification for switching over to Guix in the nearest future is:
The first reason is pretty lazy, but GPL-3.0 license.
The second reason is that it will be a environment tied with a specific functional programming language (in my case, Guile). So, if I want to diagnose stuff, I can, for example, use the Shepherd REPL, which will support Guile. In a way, Guile will be a nice addition for sysadmin.
Similarly, I do not see a reason to stick over to POSIX conforming shell standard, because most of the stuff will be done by the Guile expression, right? With some exceptions like having to run CLI binaries, most of the shell will be pretty useless for me. I would not care about minor inconveniences like having to add a few extra characters, like for example, (run ( --help)) instead of just --help. So why not just switch to something like scsh, but the Guile equivalent? I could just replace shell with Guile REPL (haven’t tried this in great depth, so I’m not confident) or gash (played with this a little, it’s quite similar to POSIX-respecting shell).
The fourth reason is that I’ve come to appreciate Guile more, despite it being hard to read as a first timer to Scheme-like language. I know that Nix is more and less of a DSL, but perhaps that is why I’m not interested in it, because the NixOS repo is polluted with multiple scripts, and if I were to maintain a project, I want to make sure to reducing adding multiple languages or tools as much as I can, to keep it simple. Guile can also fulfil that role.
choosing guix would mean choosing a smaller community and amount of support for a better language.
I used both NixOS and GNU Guix System, and my conclusion is the same. Things are already hard on NixOS, in Guix it’s order of magnitudes harder. Not worth it at all. Besides, there’s a flake for using Guix on NixOS, so can just use that.
Interesting to see Ubuntu for headless? Since it’s such a desktop-focused choice. What are your thoughts?
I ask because right now my desktop and my headless are both PopOS (because I liked it on my desktop), but I was thinking of changing the headless to something lighter.
Add comment