Two years ago, I wrote a bash script that adds a bunch of optional installs to the SelfServeManifest using
/usr/libexec/PlistBuddy, which is a fine tool, but it can get bit messy sometimes. I did play around with using
/usr/local/munki/manifestutil, but it got a bit convoluted, and I figured “Hey, why not just write it in Python 3, now that the default shell is
zsh instead of
bash and Python 2 is end-of-life?”
So, yeah, the rationale here is that you may want to have a bunch of applications installed as default applications for your users but still give users the option to remove those applications later, so this Python 3 script would just make it seem to Munki as if the user has already selected these optional installs to install… and then she can always use Managed Software Center to remove those optional installs later if she doesn’t want them any more.