The Nix package manager can be installed on Linux or macOS, but you can also use Nix to configure your whole operating system in a declarative way thanks to NixOS.
As well as installing and configuring packages, you can define your firmware version, boot loader, disk partitioning, user accounts and more.
I used to do this type of automation with Ansible but switched to NixOS soon after trying Nix on another Linux distribution.
If I need to work on a different laptop, like when mine recently died, I can apply the same configuration and get all the same programs and configurations as before.
I'm an Acquia-certified Drupal Triple Expert with 17
years of experience, an open-source software maintainer and Drupal core contributor, public speaker, live streamer, and host of the Beyond Blocks podcast.