Gentoo Linux might be the best desktop Linux distro for advanced Linux users

53 points by amano-kenji ↗ HN
Nowadays, you can get binary packages from gentoo linux if you don't change USE flags. You don't even have to compile linux kernel anymore.

Gentoo Linux has overlays. You can compile packages from third party overlays.

Gentoo overlays are better designed than debian/ubuntu PPA(personal package archive)s and AUR(arch user repository).

Gentoo Linux is simpler than nix and guix unless you need reproducibility. Gentoo Linux doesn't require you to learn nix langauge or guile scheme. You don't need reproducibility that comes with nix or guix on desktop computers. I just manage dot files in my git repository without any infrastructure-as-code tool. For servers, nix or guix can help.

38 comments

[ 3.9 ms ] story [ 84.0 ms ] thread
Gentoo is great if you value your time at $0.
... and your electricity.
Cooking your own food is great if you value your time at $0. I just eat fast food every day to maximize my free time (spent on doomscrolling).
Machines are faster now, my znver5 build machine finishes "emerge -e @world" in under an hour.
... which is an argument against trying to hyper optimize.
Any recommendations for getting started in Gentoo?

I was taking a look at their documentation and it seems quite comprehensive. Though I was wondering if there are any books or tutorials that the Gentoo community also values.

I spent a lot of my freshman year of college waiting for `emerge update world` to finish.
And if you're me, SSHing into that machine from the other side of campus to check on the status of the update :)
> You don't need reproducibility that comes with nix or guix on desktop computers.

I disagree. My desktop, laptop and servers all share one terminal config and gets updated from a git repo. All the other distros are too much work to have a worse, janky symlink config that self-destructs on an iffy update.

I have been using Gentoo 10+ years, you can save time using other distros but you'll waste an insane amount of time as soon as you want to properly configure a yubikey or set up a modern compilation stack (or update specific drivers or fixing the kernel). Compiling everything seems like an overkill, but remember it's unattended time, just start the upgrade before dinner twice a week and you'll be good to go. (Failure to compile in Gentoo are extremely rare, less than once a year)

The upside is deciding exactly which packets you want and which versions, and whenever you want to customize( or fix) a specific thing it's trivial.

I used Gentoo since about 2012 up until 2022 then switched to Debian mainly because lot less things used to break during updates and my old CPU ( i7 4790k ) became a bit dated to compile every new version of Golang, Rust and Chromium - just hours and hours of brutal grind. Since flatpak can provide up to date versions of a lot of desktop software on Debian there is very little point switching back. Maybe one day if I get my hands on some ridiculously powerful CPU like 7800 or 9800X3D then might try it again.
With malware reportedly uploaded by random people to AUR, I will stick to Debian.

A good thing about proprietary OS is that, they are responsible if their repos are infected.

Are packages carefully reviewed by gentoo?

The official and semi-official overlays are reviewed, but third party overlays aren't.

Each third party overlay is maintained by one person, so you have to trust the person behind each third party overlay.

Wait you don't need to compile open office for 15 hours anymore??
Twenty years ago, Gentoo taught me Linux.

A friend and I wanted to play around with Linux, so we installed Mandrake[1] Linux on a school PC. We didn't know what we were doing, and the GUI (I think it was KDE3?) abstracted too much. It was also very unstable.

I don't remember how I got to know about Gentoo, but I then proceeded to install and reinstall Gentoo on my home PC (Athlon 64) about 20 times, and this was when you had to start from stage1, so you had to do a full bootstrap, kernel, and system compile; no binaries and no shortcuts. The scrolling gcc output on my screen was the coolest thing ever.

The Gentoo handbook was amazing. It taught you exactly how Linux works and how to install every component of the system.

After a while, I began contributing to the distro and even became a developer for a few months but had to quit due to real life.

I don't follow Gentoo today, but if it's still valuable as a tool to learn Linux, I can highly recommend it.

[1]: https://en.wikipedia.org/wiki/Mandriva_Linux

Gentoo will always have a special place in my heart.

It's always been my goto if I want absolute maximum rice or feeling of control.

The Gentoo handbook is also amazing, especially the pages going over the nitty gritty details.

Personally though I'm more interested in nixos (if I want to roll my own) these days for it's immutable features.

Running gentoo on desktop, since 2007. My first installation lasted 7 years. The next one has worked well for me since 2013. It was my first real contact with linux and taught me a lot. My setup is bargain bin components from the same 2013 but I update and compile world during the nights.

I'm thinking of finally upgrading my components as Sandy Bridge is not cutting it in all tasks any more. Told my Gentoo-loving friend that I wouldn't be installing Gentoo again. That's only because I'm planning on just using this current installation with fresh recompilations!

Could you maybe elaborate on your statement that...

> Gentoo overlays are better designed than debian/ubuntu PPA(personal package archive)s and AUR(arch user repository).

...because from what the Gentoo wiki states, an overlay is a repository of packages from which Portage will automatically install packages. That is a clear contrast to the AUR from which you manually get a package so you have the chance to inspect it without Pacman automatically going and installing it. For Arch a closer equivalent would be unofficial user repositories.

AUR is not your repository. I have my own overlay where I am the king. I want to be the boss of my own things. Waiting for permission to take over maintenance of an abandoned AUR package was a pain in the ass. I am a king!

Also, AUR is not just treated as another repository on arch linux. Pacman doesn't recognize AUR. On gentoo linux, a third party overlay is treated just like the official gentoo overlay. Gentoo's emerge command recognizes both gentoo official overlay and third party overlays. I want one command to rule all packages for me.

PPAs and unofficial arch linux user repositories can very easily go out of sync with the official repository because they are pre-compiled binary packages. Source packages are compiled on my machine, so I don't have to worry about packages going out of sync due to minor version differences. When packages are out of sync, they break.

I used gentoo for years. While I still have a fond spot for those memories, saying that it is simpler than nixos is just flat out wrong. I've vastly simplified my involvement and removed most pitfalls from my day to day. Years pass with minimal breakage or churn and my devices just keep working.
Gentoo is pretty much the easiest distro when you want to do things outside the norm (doesn't have to be much).
I stop caring about Gentoo in 2005, classical distros do the job, I also don't care about nix and guix.

Everyone is naturally free to use whatever they feel like, some people never open the hood on their cars, while others might even melt bolts to fix their oldtimers themselves.

Gentoo was how I learned Linux. In college, I used it on my desktop (alongside Windows) and I remember thinking I was a "1337 h4xx0r" by compiling my kernel and setting the flags to make everything custom for my PC. I remember having compile errors and having to try to fix it, even though I didn't know much about C/C++.

I enjoyed using Gentoo and I eventually set up distcc on a separate computer to help compiling.

I forget exactly when, but I switched to Arch Linux and after a failed upgrade there, switched again to Fedora.

Nix, in addition to reproducibility, also allows you to any multiple versions of the same software, including all the dependencies of each of these. From what I remember from Gentoo, this wasn't supported by it.
Arch is less flexible but AUR wins for me over overlays. I find writing and modifying Arch pkgbuild a lot easier than Gentoo ebuild.

Ebuild offers a lot of functions and "magic" which looks nice in theory but actually means you will be lost if you don't write them often. Arch pkgbuild look like a shell script. Adding a random patch to an existing package is extremely easy.

Gentoo and Linux from Scratch (LFS) were a great way to learn back in the day (yes, 20-some years ago) — and support relatively custom operating environments through USE flags (e.g., which flavor of Motif did I want to use). I found Gentoo to be a rather practical low-level tradeoff in that era compared to Debian (super old package set and release cadence). You have to bear in mind: there were plenty of Gentoo users out there who weren't into abusing CFLAGS and such. And Portage had such a low bar to climb to create a package (cf. Debian Policy Manual as a description of the arcane nature of Debian package management with dh). Moreover, Ubuntu, which was a good pressure on Debian to modernize, wasn't yet on the mainstream for a good window of time when Gentoo really took off.
It might be, but Arch is pretty solid and my favorite. Regardless, both distributions have a place in the world and I'm not too concerned with the best, that's too subjective.

Why are Overlays better than AUR?

AUR is one repository where you can't just update an outdated package maintained by someone else who quietly gave up maintenance.

I have my own gentoo overlay where I have complete control. This sovereignty is really good for me. I can't stand waiting for permissions to take over maintenance of an outdated AUR package.

If you don't have your own platform, you are a peasant.

Also, pacman can't handle AUR. gentoo's emerge command can handle both the gentoo official overlay and third party overlays. I want one command to manage all repositories for me. Managing AUR with paru still feels like a dirty hack to me. I have wanted to move away from AUR handlers.

As a libertarian on social issues, I think you should be able to use whatever flavor of linux you want -- but Gentoo seems to be for people who really want to get into the nitty gritty :-)

For me, I prefer Debian. No ad crap like Ubuntu, decent userbase with several popular security distros (Parrot, Kali) based on it, so lots of eyeballs. And fairly usable, especially if you switch over to XFCE so you're not wasting resources on flashy graphics.

I've been using Gentoo for almost twenty years!

Patching libraries is easier than any other distro. Just throw the patch in

    /etc/portage/patches/${package}/${name}/
...run one emerge command, and your entire system is now linked to the patched library. For example one of my machines has:

    /etc/portage/patches/media-libs/svt-av1/0001-Address-build-warnings-and-CI-failures-from-enabling.patch
...which is a backport to fix a build error with avx512 enabled.

Same for debugging and cflags, I simply have:

    {0}[calvinow@sousa ~] cat /etc/portage/env/debug-cflags 
    FEATURES="${FEATURES} nostrip"
    COMMON_FLAGS="-Og -ggdb3 -fno-omit-frame-pointer -pipe"
    ...
...and then rebuilding any package with debug cflags is one vim+emerge away:

    {0}[calvinow@sousa ~] cat /etc/portage/package.env/20debug
    media-libs/x264 debug-cflags
    media-libs/x265 debug-cflags
    media-video/ffmpeg debug-cflags
It might. OTOH when using binpkgs and not changing USE-flags, using a fully optimized Archlinux-derivative like CachyOS might too. Depending on how much hypercustomized additional crap you need/intend to use.

Been in the situation to chose a while ago, been wary of having to compile all that crap, because that's what USE-flags are for :-) (Wenn schon, denn schon! (Meaning something like 'going all in' in german)) Thought about NetBSD, and FreeBSD too, but nah, because drivers. Knew Arch. It's lean, or can be, but not that optimized. Came across CachyOS.

Gave it a try. Feeling very comfy with it at speed. Enables real "Freude am Fahrvergnügen/Spaß am Gerät" without hassle. Not seeing the need to change.

(comment deleted)
OP you are going to love the g/ board on 4chan