Skip to content

Running parts

Rui edited this page Nov 3, 2026 · 1 revision

Running parts

Everything is tagged, so a run can do one part only.

ansible-playbook daily-driver.yml --tags macos        # only macOS settings
ansible-playbook daily-driver.yml --tags cli-apps     # only the CLI apps
ansible-playbook daily-driver.yml --tags dotfiles     # only the dotfiles
ansible-playbook daily-driver.yml --tags k9s          # one package
ansible-playbook daily-driver.yml --tags aws -e install_aws=true   # one cloud provider

Three kinds of tags

  • Role and area tags: a role (system, macos, apps, dev-tools, terminal, …) or one of its task files (dotfiles, dock, cli-apps, kubernetes, zsh, …). The full list is in the README; a test keeps it complete.
  • Feature tags, across roles:
    • aerospace: everything for the window manager (AeroSpace, borders, SketchyBar, their fonts, the macOS Spaces / menu bar tweaks, the dotfiles), ending with the interactive permissions guide
    • taps: only the Homebrew taps, trusting their formulae. CI runs it for real before the whole playbook in --check: a tap isn't added in check mode, and installing from it would then fail
  • By hand only (tagged never, a full run skips them): permissions, raycast-import, local-restore.

Every package also carries its own tag (bat, jq, htop, k9s, …): --tags <package> installs just that.

Every task also has install, used by Ansible itself, not for picking a part.

Examples

# The AeroSpace setup, then the permissions guide
ansible-playbook daily-driver.yml --tags aerospace

# The permissions guide again (after `brew upgrade sketchybar`)
ansible-playbook daily-driver.yml --tags permissions

# Another machine's per-machine files from Bitwarden (existing files are kept)
ansible-playbook daily-driver.yml --tags local-restore -e local_files_machine=Old-Mac

Clone this wiki locally