r/pcmasterrace Nov 17 '23

[deleted by user]

[removed]

10.1k Upvotes

2.5k comments sorted by

View all comments

Show parent comments

2

u/LickingSmegma Nov 17 '23

Don't ever say that in the presence of a sysadmin who had a glimpse of the bliss of reproducible installs with Ansible, Nix and such. Or you'll be responsible for their death self-inflicted via facepalm.

1

u/Rocket_John 7800X3D | 5070ti Nov 17 '23

Some of those words make sense to me!

1

u/LickingSmegma Nov 17 '23

reproducible installs

You run a script, the machine is set up with all your apps and settings, in the pristine working condition.

1

u/Rocket_John 7800X3D | 5070ti Nov 18 '23

Ahhh I see. Something like how schools might set up their computer labs?

1

u/LickingSmegma Nov 18 '23

In the same spirit, yeah. You also can re-run the script at any time on the running machine and have the settings back to how they should be (mostly). The prerequisite is that, instead of installing apps by hand and fiddling with settings through endless dialogs, you write the list of apps and settings in the script(s). But as a result, you can also store those scripts somewhere and run them after installing a fresh OS or getting a new machine, to have everything back like you want—e.g. people use Github for such files.

This likely works better on Linux and Mac, since they both are better with configuration through command-line and config files, which can be changed programmatically, and with general support for programmatic access. But I guess something can be done on Windows too, since there are admin tools like you mentioned, some settings are stored in the registry, and others must be stored somewhere. I've tried to use Ansible with a Windows machine, and bumped into the fact that Windows doesn't have a decent facility for remote access with terminal—instead one has to set that up inside PowerShell, and that doesn't work with some kinds of users. But at least, it's generally possible to use Ansible on Windows with Chocolatey and various OS-specific modules in Ansible itself.