I want to talk about the operating system I’ve chosen as my daily driver: Arch Linux. Arch

Why I wanted to change my OS

I’ve been using Arch for a couple years now. Before that I had been an Ubuntu user since it’s beginnings (around 2005), and before that Debian, which is still my OS of choice for servers.

Before discovering Arch, I was more or less satisfied with Ubuntu and it’s derivatives, but I had several “pain points”:

  • Not understanding what was happening under the hood, that led me to keep fighting some things that were causing me problems, mainly configuration helpers that didn’t allow me to keep my config’s and the system the way I wanted, like network manager, some systemd services..
  • The feeling of a bloated system, daemons and processes running that I had no idea what they were doing, specially when using a full desktop like Gnome, that led me to try other desktops (xfce, lxde, budgie).
  • The feeling of not being in control: suddenly in every new release some change was introduced that I didn’t need/want/asked for (something added, something removed..).
  • Not having current software versions. Usually most applications (even the Linux Kernel) are packaged in old versions. That it’s OK on a production server when you don’t want to introduce changes and break things, but in a desktop, I think it makes no sense. So when a new feature is implemented or some bug corrected you are left waiting for a new Ubuntu release. That’s when you start adding 3rd party repos for every app you use, or even worse, start adding additional package systems (snap, flatpak) and fill you system with duplicated versions of most common libraries, simply because you are not allowed to install the current stable version that the developer has just released.

To summarize it, I was fighting my operating system in several fronts.

Reasons why I like ArchLinux

The first time I installed ArchLinux it blew my mind, in ways I didn’t expect (not because of a shiny fancy desktop or any other “smart” assistant), and after several months of using it the sense of fulfillment and empowerment was even greater. I didn’t want to look back.

As you might expect, some of the reasons are opposed to the points mentioned before, but there are other reasons (some unexpected for me):

  • Complete control: Once you install Arch Linux you are left with a bare-bones system with only the kernel and systemd installed. From there it’s up to you to do whatever you like with your system. For every component or service you are given several alternatives to choose from For example, for your networking needs you can use NetworkManager, but you don’t have to, if you prefer you can uuse ConnMan, systemd-networkd and/or iwd, and the same happens with audio system.. now, that’s giving full control to the owner of the operating system!.
  • Allows me to understand better how my OS works. The fact that I start adding pieces to my system, one by one, allows me to understand the purpose of each piece, be it the boot manager, the zram module or the sound system.
  • Documentation: I knew that Arch had good documentation way before I started using it, because when I was searching the Internet for a generic Linux question I often stumbled into Arch wiki pages. But I even appreciated it more when every time I wanted to approach a new subject (be it wayland, pipewire or even optimizing my system for professional audio production) I always found a complete guide that help me understand how it worked and best approach for a given thing.
  • Current software: As a rolling release, every time a new version of a piece of software is released, it’s just a matter of days, or even hours until it’s ready for you to install it.
  • Extended software catalog: thanks to the main repos and to the Arch User Repository (AUR) nearly every kind of software (be it a proprietary mainstream software or some obscure little utility on a GitHub repo) it’s available to install and gets updated regularly. Even if the original developer only provides a .deb .rpm or flatpak (or the source code), if there is an aur entry for that software it means someone has automated the conversion of the package into an arch native .pkg so it will installed and managed like the rest of your system. Now, that’s adaptability!