Content-Type: text/plain

Arch Linux is a general-purpose rolling distribution of Linux originally released over two decades ago, possibly best known for its distinct lack of automated installer.1 Other qualities often attributed to it are simplicity and minimalism.

The five principles of Arch Linux do not mention minimalism and, notably, the first principle is simplicity. There are times when simplicity and minimalism are at odds with each other, and in these cases simplicity tends to win.

For this reason I think referring to it as a minimalist distribution is wrong.

It's understandable why people do it: after installation you're left with a base system with nothing installed beyond the basic coreutils, systemd, bash, and a kernel. You must make the decision what software to use. This feels minimalist because you end up with only the software you want installed, but this makes it more of a DIY distribution than a minimalist one. It's not inherently minimal: it's only minimal if you don't install many packages.

Let's look at three situations where simplicity won in the battle against minimalism.

#No split packages

Many distributions split packages up. You'll find separate packages for the binaries, development headers, and debugging symbols. In Arch Linux, software comes down the wire as an all-or-nothing deal. You may never plan on linking against the curl headers, but if you need to use curl on the command line you're going to end up with both on your system whether you like it or not.

Simplicity was chosen over minimising disk usage.

#No delta package upgrades

Packages are downloaded from mirrors with no delta upgrades between versions. (In fairness, not many other distributions do this either.) Implementing this would save disk and bandwidth usage but add complexity to pacman and the mirroring infrastructure. In the past Arch Linux had some support for delta upgrades but it was dropped in pacman 5.2 due to lack of use by mirrors2.

Simplicity was chosen over minimising disk and bandwidth usage.

#Adoption of systemd

In 2012 systemd was adopted and enabled by default. Arch Linux was one of the first to do so, following the likes of Fedora and openSUSE. Regardless of one's opinions about systemd, most can probably agree it didn't contribute towards minimalism. (Though this is debatable when you consider how much software systemd can replace.)

Simplicity was chosen over diverging from the direction the ecosystem was moving in and continuing to maintain initscripts.

#In conclusion

Arch Linux can be minimalist if you don't install many packages, but this doesn't make it a minimalist distribution: it makes you a minimalist. It's easy to bloat a system up with thousands of packages3 making it anything but minimal.

When it comes to the choice between simplicity and minimalism, the Arch team tend to choose the former. As available computing resources grow, disk space and bandwidth concerns become less of an issue, but individual human capability remains more or less constant. Simpler is often better.

  1. This has since changed with the advent of archinstall, a terminal-based guided installer. 

  2. This is such a requested feature that a recent post on the pacman-dev mailing list revisits this idea with a suggested solution that doesn't compromise the overarching goal of simplicity, but still reaps some of the benefits. 

  3. Or just one package group: texlive-most