I am trying to automate the process of setting up a new laptop as much as possible. There are certain changes I always end up making manually on a new Mac, such as enabling screen zooming with the Ctrl
modifier and setting up keyboard shortcuts to map āā„ā to "Select Previous Tab" in all applications. Iām sure there is a preferences.write
equivalent to do this, but gosh darn it, I have no idea how to determine what it is. Can I somehow monitor or "diff" my preferences after making the change manually, perhaps?
MacOS – How to determine plist changes while changing System Preferences to automate them next time
macospreferences
Related Question
- System Preferences crashes when trying to open time setting
- MacOS – How to replicate Account Preferences across multiple accounts
- Find a list of Apple preferences/plist files & what they’re used for
- MacOS – How to script Preferences changes in an application
- MacOS – How to disable password for system preferences lock? How to permanently unlock all system preferences
- macOS – How to Change Sound Device Without Visiting System Preferences
- Terminal iTerm – How to Identify plist Values for iTerm Preferences
Best Answer
Apple stores most relevant preferences in a database now, so your best bet is to ignore plist files on the filesystem and focus on the output of
defaults read com.apple.whatever
for the things you change. Unfortunately, there isn't a good Rosetta Stone that says if you are in preference X - look for changes in these seven preference domains. Where Apple stores iCloud or security information doesn't map to each visual icon in system preferences so you'll need to issue more than onedefaults read
to capture the entire state of most preference panes since most panes write to more than one setting domain.Alternatively, you could just use MDM and configuration profiles and scripts to make all changes so that you just push the changes to all machines from your management tool and skip the whole reverse engineering process entirely.
In the past MCX was the path to managing enterprise configurations and that's the equivalent of your wanting to look at the .plist files that stored those settings initially at the dawn of OS X - but the current system of configuration profiles, scripted changes and MDM hooks has left MCX and .plist to just the dusty corners that haven't been updated for the new central database to store user and system defaults.