Ansible Role: Mac App Store CLI (mas)
Installs mas on macOS, and installs macOS apps from the Mac App Store.
Requirements
- Homebrew: Requires
homebrew
already installed (you can usegeerlingguy.homebrew
to install it on your Mac). - Mac App Store account: You can either sign into the Mac App Store via the GUI before running this role, or you can set the
mas_email
andmas_password
prior to running the role. For security reasons, if you're going to use this role to sign in, you should usevars_prompt
for at least the password; don't store unencrypted passwords with your playbooks!
Role Variables
Available variables are listed below, along with default values (see defaults/main.yml
):
mas_email: ""
mas_password: ""
The credentials for your Mac App Store account. The Apps you install should already be purchased by/registered to this account.
If setting these variables statically (e.g. in an included vars file), you should encrypt the inventory using Ansible Vault. Otherwise you can use vars_prompt
to prompt for the password at playbook runtime.
If you leave both blank, and don't prompt for them, the role assumes you've already signed in via other means (e.g. via GUI or mas signin [email]
), and will not attempt to sign in again.
mas_installed_app_ids:
- 425264550 # Blackmagic Disk Speed Test (3.0)
- 411643860 # DaisyDisk (4.3.2)
- 498486288 # Quick Resizer (1.9)
- 497799835 # Xcode (8.1)
A list of apps to ensure are installed on the computer. You can get IDs for all your existing installed apps with mas list
, and you can search for IDs with mas search [App Name]
.
mas_upgrade_all_apps: no
Whether to run mas upgrade
, which will upgrade all installed Mac App Store apps.
Dependencies
ansible-role-homebrew
Example Playbook
- hosts: localhost
vars:
mas_installed_app_ids:
- 497799835 # Xcode (8.1)
roles:
- ansible-role-homebrew
See the Mac Development Ansible Playbook for an example of this role's usage.
License
MIT
Author Information
Brian Macauley
heavily based on the role originally created by Jeff Geerling