by Jach | 2025-10-12 18:28:29+00:00
I've been using Gentoo as my primary OS since 2007, along with gnome2 (now mate) as the desktop environment with the ancient compiz for fancy effects like wobbling windows and a desktop cube. Updates come pretty quickly. It's so nice having rolling releases, dist upgrades for other distros make me nervous and I've lost time to them -- and occasionally other software that certain distros decided to throw you into a curses terminal UI for configuration (or just mysteriously break and fail to install the package if you were using the desktop GUI). The custom patches thing is really nice and fairly straightforward. When you install a package its tarball gets saved in /var/cache/distfiles/ so you can just extract your package with the right version to a temp dir to work on. If you want to patch the package foo/bar you create a diff file /etc/portage/patches/foo/bar/patch-name (git format-patch can help, you just take the diff --git parts) and it gets auto-applied next time you build the package (or if it can't apply the diff, fails and tells you). I don't use this as often as I could, I only have a few patches at the moment (https://github.com/Jach/patches -- there's been a couple minor updates I should push), but it's pretty convenient to fix minor annoyances, take tiny fixes from upstream until they're fully released, or add custom features/text where you want.

With overlays to get packages outside of the core distro tree, a lot of software is just available, and even when it's not, you usually have the build tools or can easily install them so building whatever else from source isn't an obstacle. (I do sometimes have to use debian/ubuntu/mint (mint is on my travel laptop that I only use when traveling) and it still gets me sometimes having to make sure build-essential and various -dev packages are installed to do anything.) One downside is that your glibc will likely be newer than a lot of other systems out there, so that creates obstacles to shipping binaries around. You can also create your own packages in an overlay fairly easily as well, or keep some old ones around that have lost their maintainers and get removed from the tree.

There's also a somewhat annoying 'license' system (adding license names you accept to a configuration file) but with it the tooling can automatically fetch certain things for downloading (e.g. nvidia driver blobs) that some companies want people to get manually so they can harvest your data/force you to accept some EULA. I'm now remembering that 16 or 17 years ago, the last time I tried Fedora, I was testing it out by plugging in a flash drive (yay it auto mounted) but it failed to play an MP3 file and suggested I pay someone money to install codecs. It's left a sour impression on Fedora ever since, not to mention my lingering question why anyone would want a Red Hat derivative outside of a locked down office (and even then at my old BigCo job we devs got to use Ubuntu).

For casual use I still think Mint is probably the best distro at the moment. I tend to recommend the mate desktop environment since it's what I like and am used to but it's a poor distro if you can't easily install any DE of choice on it.