Why does distro even matter

Linux is insane vague in what it is, and just a pile of source code for the most part. It's up to people to put the pieces together, and choose what's included or not. There is no perfection in life for all use cases, or users. This leaves us with lots of different "distros", which are just sets of default applications that are installed for the most part. Some defaults are better for things like running a server, others are better for realtime audio workstations, others are better for new users of desktop systems and include everything but the kitchen sink.

Servers

Linux on servers comes with a plethora of options. Any Linux can be used as a server, though if you want something that's low maintenance, you'll probably want to look for a few key things.

  • Light and slim default installs
  • Security focused
  • Kernel updates that don't overwrite the running kernel (Arch like distros tend to do this)

Desktop

Linux on desktop is normally focused on things like having more choice in applications, support for more desktop environments, and many prefer having updates sooner, rather than waiting on everything to pass all of the security and stability checks. Rebooting a personal computer is way less problematic than rebooting servers that have many users connected to it. A short list of what people tend to want out of a Linux desktop

  • Good graphics driver support
  • More application choices, especially graphical ones
  • Up to date kernels for the best performance, and newest drivers
  • Easy access to add user submitted packages (AUR on Arch, PPA on Ubuntu, ect)

What distros do I use on my machines, and which is the best?

First off, there is no "best Linux". There could be argued that some are better at some tasks, but with enough work, any Linux distro can do anything the other can. That said, why do all of that work if someone else gets them close enough? Do note that I only use Linux distros without systemd. I'll do my own writeup on personal reasons later of why, but if you are looking for something now, here is a good resource. With that out of the way, this is a list of what I use and why I use them.

Alpine

Alpine is a very lightweight linux distro with security and speed in mind. Alpine uses musl as opposed to glibc, which most other distros use. This causes some incompatibility with closed source applications like Steam, and makes it less suited for a desktop distro unless you only use open source tools and drivers.

Good parts

  • Insanely light and efficient
  • Very good package manager
  • Quite up to date
  • Built to run on servers and embedded systems
  • Runs openrc
  • Is the basis of tons of docker containers
  • Very stable

Bad parts

  • Command line installer (could be an upside)
  • Can't run many popular closed source Linux tools/drivers without workarounds
  • Runs ASH and not BASH by default which can confuse new users
  • Very different from most popular distros, so has a learning curve
  • Less software choice, but most needed things are there for servers

Artix

Artix Linux is based on Arch. Obligatory "I use Arch BTW" meme aside, there were some things about Arch based distros that I really like. Mainly the AUR, and pacman. We all take package managers for granted, and just assume that they all can do the same things as the others. Pacman has features built for the power user, while being fairly simple to use, or even having graphical front ends for those that just don't want to use a terminal.

Good parts

  • Amazing driver support
  • Light and efficient
  • Very good package manager
  • Not bleeding edge, but rapidly updated
  • Has GUI installer or can be installed manually
  • Almost every Linux package available thanks to the AUR
  • Optionally runs openrc

Bad parts

  • Updates the kernel in place. Reboots needed often
  • Almost bleeding edge means security may not alwoys be as high
  • Being a rolling release, it may require user intervention on updates
  • Not as stable as other mentioned offerings due to it's rapid updates

Gentoo

Gentoo is the odd one out. It's the only source based Linux distro. This means that most or all installed things will be turned from source into binaries on your system, leading to potentially long compile times. The upshot of this is extreme control of your installed programs down to compile flags. I rarely use this distro, so I'll give a short list as I never recommend it unless you are looking to learn how a system works at the core, or you know why you want it.

Good parts

  • Light and efficient
  • Insanely good package manager
  • Optionally runs openrc
  • More customizable than most distros due to source based packages
  • Very stable

Bad parts

  • Being a rolling release, it may require user intervention on updates
  • Manual install only
  • Fairly limited in packages
  • Heavy on disk space
  • Most packages need compiled from source

Void

Void linux is often talked about as "the BSD of Linux". I don't use void often due to a personal distaste for runit, but that's subjective, and I would not let that deter you from trying Void. There are great tools to help with this "problem" such asvsv or sv-helper to name just 2.

Good parts

  • Insanely light and efficient
  • Very good package manager
  • Quite up to date
  • Fairly stable
  • Built to run on servers, or desktops alike
  • Offers both muls and glibc

Bad parts

  • Command line installer (could be an upside)
  • Can't run many popular closed source Linux tools/drivers without workarounds on musl
  • Less software choice, but most needed things are available

Honorable mentions

These are some distros that I have used in the past, but have switched away from for one reason or another. I will leave them in order of which I'd recommend generically for desktops and servers. All of these run Systemd as opposed to everything above.

Desktop

  1. Manjaro (Arch based)
  2. PopOS
  3. Arch

Servers

  1. Debian
  2. Ubuntu Server

Closing thoughts

This is currently what I'm using in terms of Linux distros on my machines. Artix is used for anything I set at a display/keyboard by default, void is used on occasion, though I have run into a few bugs here and there when using it as a desktop, along with not being a personal fan of runit that I just don't use it often. Gentoo was a great learning experience, and I can recommend using it for a while to gain something from it, even if it doesn't stick around. I'm sure the list below will change over time, but here's a list of most of my running machines with their OS's at the moment.

  • pfsense
    • Lenovo Thinkstation
    • OpnSense (BSD)
    • Router/Firewall
  • planex
    • Ryzen custom built
    • Artix (openrc) (Soon to be Void or Alpine)
    • SAN
  • bender
    • Ryzen 2500u Dell Inspiron
    • Vaid
    • Tinker laptop
  • amy
    • Ryzen 4500u Lenovo Flex 5
    • Artix (openrc)
    • Primary laptop
  • farnsworth
    • M1 Mac Mini
    • OSX
    • Primary desktop
  • zapp
    • Linode
    • Alpine
    • VPS