Switching to Nixos

This post is old, and may no longer reflect my current way of doing things or my current opinions. It may eventually be deleted or removed. Try this instead: Using NixOS. — 

What is NixOS?

NixOS is a distribution of GNU/Linux, built on top of the Nix package manager, and using a declarative configuration model. Because of this model it has some amazing features such as configuration roll-back, reliable upgrade and single-file whole-system configuration.

Why Choose it?

Because of the configuration model, I can very easily standardize my configuration, simply by keeping a handful of config files in a git repository, importing them into the main configuration. This lets me develop my configuration quickly and easily, making it trivial to move back and forth between machines.

What were the steps?

As follows:

  • Get a spare machine, install NixOS and work on configuring it.
  • Slowly bring all my data over — relatively easy as it's all in git.
  • And the switch was complete!

How'd the Switch Go?

Seriously, moving to NixOS was easy, and honestly, great! I have two machines running it (both laptops) and aside from some system- and hardware-specific configuration (drivers!) they use the same configuration. At the moment, as both of my laptops are woefully underpowered (I buy cheap!), I'm looking to set a machine up with NixOS as a minimal hypervisor – it should be interesting. If you're at all interested in switiching, let me know, I'd be more than willing to give you some pointers!