Provisioning config for my (family's) laptops: Puppet vs Ansible vs Chef vs Salt vs NixOS (2024-02-19)

There are many computers around the house. Some of them are used by my daughters. And these I want to make sure are always up to date and fully functional. I am tired of bash scripts and PowerShell scripts… is there automation? Yes! Of course…

I was looking at Grafana (for an unrelated reason) when I was reminded of the various ways we have to configure physical hardware (at home or in the data center):

(These are the Grafana “recipes”)

a trip down memory lane

Remembering back in 2011 when at Meebo we used Puppet (to configure physical servers) and Nagios (to monitor them).


To manage all these Goobuntu desktops, Google uses apt and Puppet desktop administration tools. This gives the Google desktop management team the power to quickly control and manage their PCs. That’s important because, “A single reboot can cost us a million dollars per instance.”Aug 29, 2012


Nagios is an event monitoring system. Nagios offers monitoring and alerting services for servers, switches, applications and services. It alerts users when things go wrong and alerts them a second time when the problem has been resolved. Ethan Galstad and a group of developers originally wrote Nagios as NetSaint. Wikipedia
Programming language: C
Initial release: March 1, 2002; 21 years ago
License: GPLv2

What should we use?

What should we use to manage the inventory of personal machines?


From Anders’ excellent “Screenshots from developerspage it seems that Timothee “TTimo” Besset uses SaltStack:

November 2015
‘screenshot as code’, I maintain my desktop configuration through saltstack: Commits · TTimo/linux-salted · GitHub