My macOS setup automated with Ansible
Run the bootstrap script to install Ansible and Brew
$ ./bootstrap.sh
Rename custom_vars.example.yml to be able to set your own configuration
$ mv custom_vars.example.yml custom_vars.yml
Set the value of the hostname variable to your hostname in custom_vars.yml
Copy your ssh keys to roles/ssh/files
$ cp private-ssh-key roles/ssh/files/
$ cp public-ssh-key roles/ssh/files/
Set the value of private_ssh_key_name and public_ssh_key_name variables to the names of your private and public key in custom_vars.example.yml
$ ansible-playbook site.yml -i inventory -K
To just run a specific tag (e.g. development)
$ ansible-playbook site.yml -i inventory -K -t development
or multiple tags
$ ansible-playbook site.yml -i inventory -K --tags "development,ssh"
- git
- node
- yarn
- watchman
- clojure
- leiningen
- java
- virtualbox
- vagrant
- visual-studio-code
- firebase-tools
- vlc
- flux
- evernote
- zoomus
- spotify
- dropbox
- spectacle
- 1clipboard
- zsh
- autojump
- hyper
- sshconfig
- ssh keys
- sets hostname
- .macos config
- google-chrome
- firefox
- Virtualbox installation requires sudo password
- zoomus installation requires sudo password
- Allow extensions from Oracle to install Virtualbox
- 1Password (AppStore)
- Pocket (AppStore)
- Clipmenu (Web)
- Docker for Mac (Web)
- 1Clipboard: Change shortcut to cmd + shift + v
- Automatically hide/show menu bar
- Show bluetooth in Menu bar
- Show battery percentage
- Clock show date
- Adjust key repeat and delay till repeat in keyboard settings
- Disable dictation shortcut (Keyboard -> dictation shortcut)
- Enable file encryption with FileVault
- Customize Spotlight search results
- Enable macOS system data files and security updates
- Disable everything in "Siri suggestions & privacy"
- Disable allow handoff between mac and icloud services (General preferences)
- Require password inmediatly after sleep/screen-saver
- Configure Sophos antivirus
- Configure privacy settings macOS (security & privacy preferences)
- Automate remaining manual os customization tasks
- Automate remaining manual app customization tasks
- Automate App Store apps installation with mas