Skip to content

Nixos - a solid distro for experienced Linux users

Nixos is a good solid distro that offers lots of flexibility and customisation for experienced Linux users, but as an immutable distro it's not without its pitfalls and gotchas. You need to be comfortable declaring your system packages in a config file, then saving and reloading. Rinse and repeat. There are endless ways to do things on Nixos. It can be a struggle, from dodgy documentation and everything else in between.

Nixos - the good

  • The Nixos declarative config file can be good or bad, it is easy to replace desktop environments; you can apply the same config file for reproducibility on another machine;
  • Snapshots with systemd make it easy to rollback if you brick your system
  • Updates can be done at your own pace, but big updates come through at a snail's pace if you lack high speed Internet
  • If you run the unstable branch there are typically more updates, similar to Arch.
  • You can run isolated shells with specific packages installed for development - this makes it attractive to developers.

Nixos the bad

  • Dodgy documentation: The official Wiki is not comprehensive and is outdated; there are numerous unofficial ones - this fragmented information landscape is confusing and frustrating.
  • The base installation lacks basic packages and lots of tiny packages need to be installed - the file command for example?
  • The config file can be intimidating for new users, and is generally designed for power users who are comfortable with coding languages.
  • You need to enable garbage collection and other tweaks in the config file, or unused files from previous installs will fill your ssd in no time.
  • The nix shell can be configured and used in a variety of different ways, there is no right way.

In short, Nixos is a multi-bladed tool that can do many things in many different ways, you just need some time and patience.