| In my experience: 1. There's very rarely a one-size-fits-all solution, in terms of what people need. Oh sure, if everyone needs a VPN then you should install the VPN and suchlike. If there's mandatory corporate security software, add that as well. But will they need docker? Will they need virtualbox? Will they need VS Code? CLion? PyCharm? IntelliJ? Do they need Java installed? Which version of Java? Will they need Altium? SolidWorks? 2. There's constant churn. You can't just create an image once and use it unchanged for years - there are so many components involved that there'll be some change or other needed pretty much monthly. And you can't rely on volunteers helping out to scratch an itch - everyone in a position to do that has long since got their computer set up how they like it. What's more, lot of the changes you end up pushing out will be unpopular. Ain't nobody going to volunteer their time to add a giant block of all-caps legalese to a login banner, or to deploy enterprise security crapware like crowdstrike. 3. Laptops are imaged by level 1 helpdesk workers. People who can troubleshoot Linux problems and maintain setup images probably aren't in helpdesk at all, and certainly aren't level 1. So if you imagine making an image and handing it over to helpdesk to maintain - you'll find doing so isn't possible. |
I created a relatively long set of install instructions for Windows+WSL[1] a couple years ago and it's already outdated in a few areas. I mean most should be able to figure it out, but it just really varies a lot. Even with WinGet, Chocolatey, etc. Windows is just the odd duck here. Doubled with the Linux/WSL bits.
Linux is probably the easiest to script out, second would be mac imo, but need multiple steps with homebrew, etc.
1. https://github.com/tracker1/personal/blob/main/developer-set...