This playbook installs and configures most of the software I use on my OSX machine for software development.
NOTE: The Playbook is fully configurable. You can skip or reconfigure any task by Overriding Defaults.
- Software
- Dotfiles
- Install a set of dotfiles from a given Git repository.
- System Settings
- Fonts
- Install chosen custom fonts.
- Fonts
- User Settings
- Directories
- Create custom user directories.
- Dock
- Arrange items in your macOS Dock as you want.
- Sudoers
- Configure custom sudoers.
- Zsh
- Install and configure ohmyzsh.
- Install custom OMZ plugins and themes.
- TMUX
- Install and configure tmux with TPM (plugin manager).
- User Script
- Execute arbitrary user script.
- Directories
-
- Upgrade Pip:
python -m pip install --upgrade pip
- Install Ansible:
python -m pip install --user ansible
- Upgrade Pip:
-
Clone or download this repository to your local drive.
-
Run
ansible-galaxy install -r requirements.yml
inside this directory to install required Ansible collections. -
Run
ansible-playbook main.yml
inside this directory.
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
, mas
, dock
, sudoers
, fonts
, directories
, etc...
ansible-playbook main.yml -K --tags "dotfiles, homebrew"
You can override any of the defaults configured in example.config.yml
by creating a config.yml
file and setting the overrides in that file.
This project was created by Alexander Nabokikh (originally forked from Jeff Geerling's repository: geerlingguy/mac-dev-playbook).
This software is available under the following licenses: