macOS, the way i have it
Every setting below is one i changed on my own Mac, read back off the machine with Advanced settings: Generated script:defaults read rather than from memory. Tick the ones you want, copy the script, paste it into Terminal, and restart what it tells you to. Nothing runs from this page.
The whole set, unedited
The same lines with everything ticked live at /dotfiles/macos.sh. Read it before you run it; it is short.
curl -fsSL https://aadhar.sh/dotfiles/macos.sh -o macos.sh less macos.sh bash macos.sh
How this list was made
defaults read <domain> prints only the keys something has written, so a key that is missing is proof that setting is still at factory, and a key that is present means it was touched at some point. i read the dozen domains that dotfiles conventionally cover, kept the keys whose value differs from what a fresh account gets, and dropped the ones i could not vouch for. Where i know the factory value it sits at the right of the row.
- What is deliberately missing
- My text replacements (personal), the Dock's app list (bookmark blobs,
dockutilterritory), the Control Center menu bar layout (an opaque blob), and the Terminal profile (archived colours, exportable as a.terminalfile instead). Also the keyboard shortcuts i turned off under Accessibility, because i could not confirm which of those ship off already. - Why some rows want a logout
- Key repeat, the press-and-hold switch, tracking speed and the sound settings are read once at login by the processes that own them, and no
killallreaches those. The Dock, Finder, the screenshot service and the clock each restart in place. - Measured on
- macOS 26 (Darwin 27.2), 2026-09-21. Three rows are macOS 26 keys and say so, the window rows are Sonoma and Sequoia keys, and everything else predates Ventura.
Made in the same spirit as mathiasbynens/dotfiles, which is where most of the world learned these keys. The difference is the checklist: his is a script you edit, this is a list you tick.