I find the fundamental problem with this sort of server setup script/config management is that they inevitably get quite personal. Nobody really wants to use another devs and when you try to allow for a lot of customisation they tend get byzantine and complex.
That said I still think it's worth sharing. If nothing else we can all usually cherry pick nice ideas from each other.
I had an entirely private set of Ansible roles I'd cobbled together that I started to put in a more shareable state a couple of years ago. It has little overlap with what you're putting together, but I do think you might find the way it separates personal Ansible config and the main project roles into separate directories (and thus different git repos) useful.
This! It was that combination of rain radar and really obvious app specific audio alarms that no other weather app seems to understand.
I live in Scotland, a famously rainy country. We line dry our laundry outside and dark sky alerted me take it indoors before rain for years.
Then Apple took it away and my laundry regularly gets rained on.
The closest I've found for this functionality on Android is Rain Alarm. It has two flaws though. One is that it uses public rain radar data that only updates every 15 mins, so often you get an alert when its already started raining. The second is that it uses a circular search path, so you get false positive rain alerts that it's raining 3km away when that rain shower is actually passing by and will not hit us.
For these features Dark Sky was unique and accurate enough.