Skip to content
Personal macOS provisioning tasks for ansible
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
roles
.gitignore
.travis.yml
README.md
config.dist.yml
playbook.test.yml
playbook.yml

README.md

Build Status

macOS Provisioning with Ansible

Personal macOS provisioning tasks for ansible.

Install all your tools, apps and configurations with a few steps with the help of ansible, Homebrew, Cask and MAS.

Prerequisites

Run the following on a clean (recommended) macOS install:

# Install for macOS Updates and reboot if needed
sudo softwareupdate -i -a --restart

# Install Command Line Tools
xcode-select --install

# run prepare script
curl -fsSL https://raw.github.com/itsjavi/macos-provisioner/master/bin/prepare | bash -s

After running the prepare script, the provisioner files will be in the ~/.macos-provisioner directory.

Configuration

Here you will find all configuration and apps that will be installed:

vim ~/.macos-provisioner/config.yml

You can also edit the default playbook file to your needs

vim ~/.macos-provisioner/playbook.yml

Provisioning

The provisioner needs to be run under the macos-provisioner source directory, which is ~/.macos-provisioner by default.

cd ~/.macos-provisioner 

Checking all playbook tasks

bin/provision playbook.yml --list-tasks

Full provisioning

Running all tasks

bin/provision playbook.yml

Running all tasks without interaction (although some apps like Virtualbox won't be installed)

bin/provision playbook.yml --skip-tags "interactive" --extra-vars "git_name='John Doe' git_email='john@example.com'"

Using a custom playbook file

bin/provision my-custom-playbook.yml

Partial provisioning

Running tasks by tags

bin/provision playbook.yml --tags git,npm
You can’t perform that action at this time.