Ansible based solution to simplify the setup of a mbp. The roles were written in such a way to make the playbook idempotent. This playbook is composed of the following roles:
mac-osx-settings
: fine tuning detailed aspects of OSX (example: dock auto hide, finder appearance, etc)homebrew-setup
: installs homebrew + required taps + casksglobal-packages
: installs global npm and pip packagesmiscellaneous
: installs and conigures oh-my-zsh + SpaceVim
- Ensure Apple's command line tools are installed (
xcode-select --install
to launch the installer) - Install Ansible
- Clone this repository to your local drive
- Run
ansible-playbook bootstrap.yml
inside this directory. Enter your account password when prompted (sudo might be required for setting up some specific tasks)
You can filter which part of the provisioning process to run by specifying a set of tags. For example: ansible-playbook bootstrap.yml --tags miscellaneous
flag. Available tags are: mac-osx-settings
, homebrew-setup
, global-packages
and miscellaneous
.
Not everyone's development environment and preferred software configuration is the same.
You can customize which packages need to be installed or settings should be configured by modifying the following files:
I currently use mackup for managing my dotfiles, and other specific app-relate config. The full list of supported apps can be found here. I currently run mackup manually to control to which config/dot files are restored from the cloud!