Skip to main content

Command Palette

Search for a command to run...

NixOS: First Impression

Published
3 min read
NixOS: First Impression

nixos-nixpkgs.jpg I have been using NixOS for more than a year now on and off, every time I go away from NixOS and say it is too hard to use I come back with more realization how much better it is than any other OS, but why NixOS is so much better

Configurations and reproducibility

First, let's start with its obvious features configurations and reproducibility NixOS centralize all the OS configurations in one place and depends only on those configurations to produce your system, this has two major consequences, first, you know exactly where to look if you want to configure anything in your system, second, it makes you able to copy your configuration anywhere with you and have the same consistent environment, so if you bought another laptop no problem you just copy your configuration and you are done, although this feature is really useful in personal computers it is much more useful in the servers space, typically you want a set of servers in a cluster to be exactly like each other and consistent, with NixOS you don't even have to worry about this

Perfect Testbed

Since NixOS depends only on your configuration to produce the system, it is easy to save every change to this configuration to have a rollback feature (kind of like DB Migrations ), this feature alone makes NixOS the Perfect Testbed, you can experiment as you want with confidence you know even if your experiments broke the system you can easily roll back to the last working configuration, this confidante really will make you move faster with your experiments since you know nothing can go wrong

Customizable ( You are in Control )

NixOS is customizable to the core, you can customize anything actually from what happens while the OS is starting to the icon of the mouse, sure all this customization adds a lot of options which adds a lot of confusion and complexity, but once you move past this complexity you see how much it is better, it makes you in control of everything, this is very important to people like me who like a specific workflow and want to have the same experience where ever he goes, being in control is also very important if using it in servers since you control exactly what packages are being installed and what services are running you can reduce the attack surface to a minimum which is harder to do in other OSs

Drawbacks

NixOS is not perfect yet, it has a lot of drawbacks, the DX still needs a lot of improvements, Nix the language isn't perfect( although I think they did a good job with it ), the way you find packages and options through a website is also not ideal, But they are working on most if this issues, so I am really excited about the future of NixOS