No more random packages

Do you know every software package installed on your computer?

Do you know every configuration file you've added or edited?

If you needed to create a new computer or server that matches your current configuration, how long would that take you?

This is why I started automating my system and having tools like Ansible install and configure software instead of me doing it manually.

But, that doesn't prevent anyone from adding more things or changing files on the fly.

Nix and NixOS have a read-only store of packages and configuration files, and I can read my dotfiles repository and see exactly what's installed and how it's configured.

If I want to add or remove a package or change some configuration, I update a Nix file and rebuild my system.

There are no more random, rogue or leftover packages.

If I get a new computer or create a new server, I add it to my dotfiles repository and apply the configuration and I'm up and running in no time.