Table of Contents

Preface
My first serious encounter with Linux was at university. One course required Debian. Normally we would access clusters via ssh and people seemed happy enough to use putty or whatever ssh client their OS supported. Moving to Linux was hard at first - Debian is great but let newbies have the comfort of Ubuntu or Manjaro - but it was one of the best decisions I’ve made.
My journey was roughly
- Debian: computational statistics at university
- Mint: first personal daily driver
- Ubuntu: Deep Learning at work
- Artix: goodbye snap, goodbye systemd, new daily driver
- Manjaro: side project for a server
NixOS has been on my radar for a few years, and now is the time to explore a new distribution that can hopefully mean the end of distro hopping.
What is NixOS
NixOS is a 20 year old distribution that solves the problem of reproducible builds. NixOS is great in the same way Docker is, you have a one file declarative configuration that’s enough to reproduce your build on any machine. I’m using Docker everyday at work and at home, and love it.
I would like to think that my machines have reproducible builds, that everything is carefully handled in bash scripts, and that I could change machines tomorrow and get the new one running in my preferred state in a breeze. That's wishful thinking. The goal of moving to NixOS is to make that happen.
Another selling point of NixOS is its dependency isolation. Again, I’d like to be able to say that I’ve never encountered dependency hell or fought with apt. I have encountered it and been deep the rabbit hole. It’s a good learning exercise but I’ve learnt the lesson and am happy to move on.
Drawbacks
The main drawbacks seem to revolve around FHS-incompatibility. The Filesystem Hierarchy Standard (FHS) is a Linux Foundation standard that describes … the filesystem hierarchy - think /bin, /boot, /dev, etc.. NixOS still has /home and /etc but packages typically are in the immutable /nix/store rather than /usr and /bin. That can lead to some frustration.
For more pain points, Rémy Grünblatt documented his here.