From a comment I posted on reddit:
+1 for Void.
Coming from Gentoo, Void is pretty nice! I’ve had to do all sorts of manual intervention on Gentoo (musl) whereas with void everything just seems to work.
I don’t know why ebuilds tend to fail on Gentoo a lot more than xbps-src but it was a deciding factor for me; I shouldn’t have to bootstrap ghc, scratch my head at why lxd isn’t working, manually patch loads of stuff for musl/libressl (my overlay stands at about 300 commits) and then actually be able to use my laptop for work.
The downside to Void is that there’s less “automated” customisation as per useflags, but I have a very small install (Cherry-picked from base-voidstrap instead of base-system), running a very stripped kernel as I did in Gentoo with no modules, and a custom initramfs for a LUKS detached header on USB instead of dracut which would require lots of manual patching to achieve the same thing.
Gentoo is awesome, and it’s my first distro of choice - if I had the time! In my eyes, it’s the one of the last distros along with Slack and a few others that say “This is Linux, you can run it how you want”, as opposed to Fedora, Ubuntu, SUSE, Arch and to some extent Debian that effectively say “This is our version of Linux, you can run it, but we’re going to fuck you anally with systemd, the poetteringware & freedesktop cabal, and you can’t change it”.
Void is a good middle ground in this sense, that you don’t have the amount of customisation on Gentoo but you can change things to your liking per-package through xbps-src (I’m currently figuring out how to do this and keep packages updated, like integrating my kernel config to be automatically updated rather than doing it manually). From what I’ve looked at, xbps-src is awesome and beautifuly simple to understand compared to ebuilds - e.g.
I’m not hammering the most glorious of distros (In my honest opinion) but at the end of the day, it’s a trade-off between customisability or convenience.
Another few other examples: I had to wait ~2 weeks to use the latest firefox on musl because rust/cargo weren’t compiling. Alpine/void? Sorted within a couple of days! I ended up ditching my install because I had lots of relocation/relro/WX/symbol unknown errors on programs I’d already compiled, and subsequently recompiling the whole system (amongst other things) did nothing, and after days of scouring for information on the issue, I gave up. Here be dragons!
Normal Gentoo (glibc) is a cakewalk though - I haven’t really experienced many problems and Gentoo stable is pretty up to date, while still solid as a rock.
Void musl is the smoothest experience of musl-libc I’ve used on a distro and it doesn’t require me to scour for different people’s overlays because some ebuilds are being picky!
Whilst I do like the decentralised nature of Gentoo where everyone does their thing, in niche cases like musl it really bites you in the arse because you have to find/patch things that don’t work in the portage tree whereas they’re already standardised on other musl distros like alpine/void. C’est la vie!
If I had to describe Void, it would be the love-child of Gentoo and Arch, with Slackware as a mentor