This playbook installs and configures most of the software I use on my Mac for web and software development. Some things in macOS are slightly difficult to automate, so I still have some manual installation steps, but at least it's all documented here. The items installed within this playbook have been inspired by the How to Set Up Your MacBook for Web Development in 2020 article credit where credit is due.
This is a work in progress, and is mostly a means for me to document my current MacBook Pro's setup. I'll be evolving this set of playbooks over time.
See also:
- Ensure the Homebrew package manager is installed (
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
to launch the installer). - Install Ansible.
- Clone this repository to your local drive.
- Run
$ ansible-galaxy install -r requirements.yml
inside this directory to install required Ansible roles. - Run
ansible-playbook -i inventory.local inventory.local.yml -KDC
inside this directory. Enter your account password when prompted. Check over the changes (checkmode) - Run
ansible-playbook -i inventory.local inventory.local.yml -KD
inside this directory. Enter your account password when prompted. Apply the changes (non-checkmode)
Note: During the installation, you might be asked to install the Xcode Command Line Tools if you haven’t already. Just follow the instructions on the screen. 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.
Applications (installed with Homebrew Cask):
Packages (installed with Homebrew):
- docker-compose
- git
- htop
- node
- romkatv/powerlevel10k/powerlevel10k
- zsh
- zsh-syntax-highlighting
- zsh-autosuggestions
- zsh-history-substring-search
It's my hope that I can get the rest of these things wrapped up into Ansible playbooks soon, but for now, these steps need to be completed manually (assuming you already have Xcode and Ansible installed, and have run this playbook).
- placeholder for future addtions tweaks.
- My hope is to get this plugged into a CI/CD pipeline for testing