What Linux distribution or distributions do you personally use?
I myself am a daily Void user. I used to use Devuan, but wanted to try rolling release and ended up loving Void!
What Linux distribution or distributions do you personally use?
I myself am a daily Void user. I used to use Devuan, but wanted to try rolling release and ended up loving Void!
Arch Linux. Always very up-to-date and the AUR is huge. No dealing with PPAs or snaps or flatpaks or appimages. Just
paru -S any-software-ever-made
. Also very streamlined (systemd for everything lol) and well documented. I tried NixOS for a bit but it was very inconvenient in comparison and I felt like it was impossible to tinker with or understand if you weren’t good at Haskell. Terrible documentation.For servers it’s definitely Debian + docker.
You don’t need any haskell knowledge to configure a NixOS system. It’s mostly just researching the right options and setting the desired values. Pretty simple. For more advanced stuff like custom modules, functional programming experience helps a lot but that’s not necessary for installing packages and enabling services.
Documentation isn’t great but what it does have going for it is that it’s right in the place where you configure it: In the NixOS options. Wanna configure systemd-boot? Just search for it: https://search.nixos.org/options?channel=23.05&size=50&sort=relevance&type=packages&query=systemd-boot
It’s self-documenting.
The declarative abstraction of just setting values of options is very nice but I quickly ran into many edge cases where it leaked, which have been fixed years later. Obviously I don’t want to wait years but I couldn’t figure out how to fix it myself. I was able to overcome the learning curve of all the various hyphenated CLI programs (seriously what’s up with that), how home-manager fits in, basics of the nix language, etc., but got stuck at trying to learn nix well enough to actually contribute.
There’s a huge barrier in straying from the well-trodden path, and I think that path will always be behind the cutting-edge. In traditional distros I just have to install something or edit a text file somewhere. Prime example right now is pytorch with rocm support. In Arch Linux it’s
pacman -S python-pytorch-rocm
. In NixOS I barely remember and I don’t think it even worked for me but I think it was this: https://github.com/nixos-rocm/nixos-rocm#installationI started using dotdrop to track and manage my user and system configurations and wrote a basic ansible playbook for my desktop install setup which has achieved 90% of what I was looking for in NixOS. These days what intrigues me about NixOS is that it might be a great alternative in the server space as a competitor to using docker or wasm.