HACKER Q&A
📣 hamburglar1

How do you manage your macOS settings / config for dev?


If you have multiple macs for various jobs / personal / old ones. How do you keep the settings / environments in sync? Are there any tools to help with this?

I have a few basics that I want on everything: - mouse and keyboard settings - magnet window manager with hot keys - standard git + bash alias / configurations - custom tool bar - pinned/hidden applications

Right now I just set everything up the same way and manage changes across all of them. For the git/bash stuff I have a personal github repo that I can pull -> run to reset.

Is there a way to automate this? I can't really configure a full-fledge MDM given I don't own some of these.

Would like to hear if anyway has any similar problems / solutions


  👤 LukeBMM Accepted Answer ✓
There's a fair bit you can do to set config with scripting. I've only done this for initial setup (new machines at a small firm), but you may be able to find a good chunk of what you need and update/run it as often as you'd like.

https://github.com/mathiasbynens/dotfiles/blob/master/.macos


👤 daviddever23box
It's a perfect opportunity to brush up on your {scripting language of choice} skills, though there are some pitfalls on macOS (e.g., not being able to set some preferences until another preference has been set).

Meta, I treat my devices like containers; assume that everything is ephemeral, and regenerate the environment on a frequent basis. Old stuff collects in iCloud as an archive, though anything live must be source-controlled (GitHub, Bitbucket et al).

By the way, as this unfortunately has to be said, credentials are NOT stored in source control. E-mail signatures and response tablets ARE.

As for system-wide backups, I don't do them (said the object storage guy); they're far too precious an approach to storage that ultimately should be better focused (live / archive / ephemeral). That said, the overlay approach that macOS takes should be more conducive to layered state, for those that DO backup.