I don’t want to use NixOS (yet)

If I were ten years younger or still a graduate student, I would probably be already using NixOS. Unfortunately, I am a twat already in my thirties, completely deranged by the “eat, sleep, work, repeat” cycle. Therefore, my computer is going to stay on Arch Linux, because I depend on it for work.

Depending on Arch Linux for work may sound wild for some people. I don’t want to neglect those “my Arch installation just broke after an update” stories. But I am writing this in an Arch Linux box that I originally configured two years ago.

$ sudo tune2fs -l /dev/nvme0n1p5 | grep 'Filesystem created:'
# Filesystem created:       Sun Mar  5 11:43:56 2023

Don’t get me wrong. I don’t want to say that breaking Arch Linux is a “skill issue”. There are many ways to break a rolling release that could frustrate a newcoming user, or even an experienced user. In fact, my installation has almost broken a few times. Every time, I managed to regain control of my computer.

The reason why I think my installation has survived so much time is simple: I keep my system stable and static. When I installed this computer, I configured i3 as my window manager, systemd-networkd and systemd-resolved as my network and DNS managers, startx to start my window manager, a few packages for eyecandy (polybar, rofi…) and… that’s it.

To be fair, this is not a flex. It works, but is getting outdated. Every year, there is more pressure to switch to Wayland. I’ve been willing to test sway for a very long time. Supposedly it can pick my i3 config and offer almost the same experience. However, there is always something else more important to do for me that prevents me from testing it…

But this is the gist.

And this is why I don’t think I would be a good fit for NixOS. My computer settings barely change because I don’t tweak a lot these days. I know that this is a countdown until something actually happens. I know that one day, things will break. If something goes wrong, I already have a backup of my dotfiles (and, well, the rest of stuff in my $HOME), including the list of installed packages (thanks to metapac). I have some unattended install scripts that I can use to even reinstall the OS from scratch.

Now: would I want to try NixOS at some point? Definitely. It ticks all the checkboxes a tinkerer like me would appreciate. Imagine you want to solve a problem, but rather than picking the most straightforward way, you decide to pick the most overengineered way, just as an excuse to learn new things and invent more stuff.

Imagine learning a programming language that is only used to configure stuff and nothing else. No real use cases outside of the realm of configuration files to re-use what you’ve spent days learning.

Sounds good to me.

A hand doing a thumbs up, but there is a face in the back of the hand

I wouldn’t mind giving a try to Nix and NixOS. When you first look at a Nix file, it looks scary. But hating a programming language just because it looks non-standard would be lame. Oh look, it has a different syntax than the programming language that I already know, therefore this is stupid. No, please. Besides, this is the norm in functional languages already.

However, at the end of the day, I’m going to spend more time learning about the language and converting my existing computer configuration than actually doing any more changes to my system. I don’t think at the moment it’s worth the effort for me to learn a new programming language, and a new dictionary of words (what the hell is an overlay?) just for that purpose. I’d rather be testing Sway. Oh wait.

I don’t dislike Nix, NixOS or NixOS users. Clearly they have a very powerful tool if they are the kind of person who wants to backup their entire computer. But also, I don’t simp on those tools. I’m happy with what I have. I try to keep my systems small and without things that I don’t need, and Arch makes it easy for me to only install the packages that I really need, and to make sure that it stays like that.

In the end of the day, the way I see computers has changed over the last decade. Ten years ago, I treated my computers like if they were sports cars 🏎️. They had to look nice, specially if it’s a laptop that you use in a public place, like at an office or at a classroom. You want to showoff your rice. You want those Windows users who accidentally stare at your screen when it gets in their view to say: Damn.

However, now that they are tools that I depend on to pay my bills and have something to eat for the next month, and now that I work from home and I have no one to flex, I treat my computers like big trucks 🚛. They may not be as appealing and they may not run very fast, but you can count on them to have your work done. And the computers in my home office, all of them, even the partitions that run Microsoft Windows, currently get my work done, and that makes me happy.