This project is highly inspired by Jeff Geerling's mac-dev-playbook.
- macOS configuration
- List of Homebrew formulae, casks
- List of Mac App Store apps
- iTerm2 preferences
- Karabiner-Elements rules
- Cloudflare DoH profile (https://github.com/paulmillr/encrypted-dns)
-
Go to System Settings > Privacy & Security > Developer Tools, and Add the preferred terminal application to the list.
-
Install Homebrew.
-
Install ansible and git by running
brew install ansible git
. -
Clone this repository to your local drive and change working directory to there.
-
(Optional) Copy post tasks to
post_tasks
directory. -
(Optional) Enable DoH by double-clicking
cloudflare-https.mobileconfig
. -
Run
softwareupdate --all --install --force
to upgrade to the latest software. -
(Apple Silicon only) Run
softwareupdate --install-rosetta
to install Rosetta. -
Run
ansible-playbook main.yml
. -
Configure
iTerm2
.- Open
iTerm2
. - Go to
Preferences > General > Preferences
- Check
Load preferences from a custom folder or URL
and selectfiles/iTerm2
directory.
- Open
You can filter which part of the provisioning process to run either by manually changing variables defined in config.yml
(start with configure_*
), or specifying a set of tags using ansible-playbook
command's --tags
flag.
The tags available are keyboard
, menubar
, dock
, finder
, homebrew
, mas
, karabiner
, and post
.
ansible-playbook main.yml --tags "finder,keyboard"