Moving back to Arch

Recently I’ve moved back to Arch Linux, after deciding to rebuild my system. I’d been running Ubuntu LTS on my gaming pc for about two years. I was pretty happy with how things were running, snapd was a bit redundant on top of having flatpak and apt; and there were a few additional utilities and applications installed by default that I had no need for. Otherwise Ubuntu provides a solid distro which is easy to troubleshoot. However, while great for many reasons, running an LTS also means you’re not running the ’latest & greatest’ which sometimes means you miss out on nice features, or sometimes have to wait for bug fixes.

Since returning to using a Macbook however, I’ve been using brew for managing my applications and utilities, and then syncthing for keeping my configuration files in sync. Brew however uses the ’latest & greatest’, and therefore sometimes features or toolsets that I was using (and had configured) on my Mac, weren’t available or working on my gaming PC. I was already maintaining two separate Emacs’ init.el files and I had little desire to maintain multiples of all my other utilities’ configurations.

I first used Arch many, many years ago when I was exploring Linux, and again one of the first ‘distro-hopping’ stops after starting to use Linux full time on my gaming pc. I enjoy the minimalism of the Arch out-of-the-box experience (or the lack thereof), and thought that this was a good time to try it out again.

Arch has a bit of a learning curve, which mostly is ‘read the excellent documentation’. I’ve installed Arch a few times using the manual method, but thought to try the built-in ArchInstall script, which covered 99% of my needs. I tested this a couple of times in a VM, playing around with the configuration and setup until I got something I was happy with. Without the boring details, it was LUKS2 for disk encryption with an unencrypted /boot; systemd-boot and one giant / partition on an ext4 file system. Nice and simple.

When I used Arch in the past, I’d primarily been a tinkerer and been intent on playing around with dwm or i3 as window managers. This time I’ve kept things ‘boring’ and gone with Gnome, again, nice and simple. I’m trying zsh as my shell instead of bash. I copied my /home over and everything was up and running within an hour or so.

I’d recommend the ArchInstall script to anyone that’s done a manual install a couple of times, and doesn’t want to go down the EndeavourOS route (also an excellent distro!). I don’t like the elitism around preference for a manual install, but I do think it is an great learning opportunity when you need to go step-by-step to set a system up.

One objective of changing my distro was to document everything when starting afresh. I’ve been busy expanding my notes while learning a lot about how my system works, and I’d strongly encourage others to do the same - it helps to know what you’ve changed when you need to fix something! Documentation doesn’t need to be complicated or formal, just something that you can quickly refer back to if needed. I focus on my most common use-cases for each utility and try to keep my docs short. I try not to just copy the manpage[^1] or wiki though, and instead write my documentation in my own words. I’ve also used a pacman hook to store a list of installed packages for easy reference.

[Trigger]
Operation = Install
Operation = Remove
Type = Package
Target = *

[Action]
Description = Printing explicitly installed packages to ~/.config/arch/pkglist...
When = PostTransaction
Exec = /bin/sh -c 'runuser -u $user -- /usr/bin/pacman -Qqe > /home/$user/.config/arch/pkglist'

I’ve also worked on incorporating some popular applications like fd and bat into my workflow[^2]. I’m also trying to avoid the Arch User Repository (AUR); there were a couple of security issues last year (2025), and I’m trying to keep my system simple. However I’ve installed paru to be my AUR helper as there are still a couple of applications I need the AUR for. Most graphical applications are installed via flatpak as I’ve got a preference for these to be for some reason - also most Gnome Circle applications are flatpak first. I don’t like the ‘package count’ metric that some use in the community for ‘minimalism’, but I have ended up with a fairly small system footprint, which I personally am quite happy with.

I really enjoy the custom approach that Arch provides. I don’t have anything against Fedora or Ubuntu, they are excellent choices, but I personally end up finding more layers of complexity whenever I dive into my system when using either distro. Arch keeps things simple and I’m glad to be back.

One of my other objectives this year is to learn more about how a Linux system functions, so I’ll be trying Linux-from-Scratch (LFS) soon too. I’ll write a post about my experiences when doing so.


[^1] (Also manpages on Linux are far inferior to those in BSD land for some reason; I guess the preference is websites or wikis).

[^2] These appear regularly on others’ recommendations, so I thought I’d give them a try, and I’m glad I did!