Ansible playbook for provisioning my developer workstations.
- macOS
- GNU Make
- Python 3
GITHUB_TOKENenvironment variable (for setup and backup tasks)
To bootstrap a machine (install dependencies and run setup):
make bootstrapTo install project dependencies:
make installTo set up a machine:
make setupTo teardown a machine:
make teardownTo format Ansible files:
make formatTo backup GitHub repositories:
make backup_github_repos BACKUP_DIR=<directory>| Role | Description |
|---|---|
common |
SSH configuration and timezone setup |
dotfiles |
Dotfile management via GNU stow |
git |
Git configuration, aliases, and project backup |
macos |
Homebrew packages/casks, Mac App Store apps, and system preferences (dock, hostname, trackpad, screen) |
mise |
mise runtime version manager |
teardown |
Machine teardown (unstow dotfiles) |
vim |
Vim and vim-plug setup |
zsh |
Zsh, Oh My Zsh, and shell environment setup |