This playbook installs and configures most of the software I use on my workstations for development, sysadmin, SRE, DevOps and Fun!
Totally inspired by mac-dev-playbook by Geerlingguy!
- Install the Apple's command line tools
xcode-select --install
Due to WSL mount the /home/user as /mnt/c you will face world writable directory issue, to fix it just export the ANSIBLE_CONFIG environment variable.
export ANSIBLE_CONFIG=`pwd`/ansible.cfg
- Continue with the steps for Linux and Windows (WSL)
- Install Ansible. (This is prepared to work with ansible-base/core)
Or run the script below to install a venv
with the latest python3
available in your system and install ansible-2.12.10
bash scripts/bootstra.sh env
# or
ANSIBLE_VERSION=2.12.10 bash scripts/bootstrap.sh env
- Clone this repository to your local drive.
git clone https://github.com/hugoprudente/box-dev-playbook.git
- Install the
ansible-galaxy
dependencies
ansible-galaxy install -r requirements.yml --force-with-deps
- Run the the setup playbook. Enter your account password when prompted.
ansible-playbook main.yml -i inventory --ask-become-pass
Note: If some Homebrew commands fail, you might need to agree to Xcode's license or fix some other Brew issue. Run
brew doctor
to see if this is the case.
You can filter which part of the provisioning process to run by specifying a set of tags using ansible-playbook
's --tags
flag. The tags available are dotfiles
, homebrew
.
ansible-playbook main.yml -i inventory -K --tags "dotfiles,homebrew"
Not everyone's development environment and preferred software configuration is the same.
So you can customize your one using as base default.config.yml
by creating a config.yml
file and changing to your taste!
.
Use the Mac OS X VirtualBox VM
Additionally, this project is continuously tested on GitHub Actions' macOS infrastructure.
If you are using WSL you will need to export this, to type the passphrase of your commit or it will fail with error: gpg failed to sign the data. fatal: failed to write commit object\
export GPG_TTY=$(tty)