mac-dev-playbook
mac-dev-playbook copied to clipboard
Quirks with automating macOS Tahoe
A continuation, more or less, from #210 for Sonoma...
I'll list below any of the issues I run into getting this playbook to work seamlessly with macOS Sonoma (26.x):
- [x]
Add Sonoma test coverage via CI on this project(moved to #233) - [ ] Check over various
.osxcommands to see what errors out or doesn't work - [ ] Test and merge in https://github.com/geerlingguy/mac-dev-playbook/pull/79
- [ ] Fix annoyingly-slow key repeat rate
- [ ] Add
EnableStandardClickToShowDesktopoption to my.osxfile
Right off the bat I ran into an issue with the @elliotweiser's command line tools role:
TASK [elliotweiser.osx-command-line-tools : Check the Command Line Tools package metadata] *****************************
fatal: [127.0.0.1]: FAILED! => changed=false
cmd:
- pkgutil
- --pkg-info=com.apple.pkg.CLTools_Executables
delta: '0:00:00.009208'
end: '2025-10-06 23:48:50.949816'
msg: non-zero return code
rc: 1
start: '2025-10-06 23:48:50.940608'
stderr: No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
stderr_lines: <omitted>
stdout: ''
stdout_lines: <omitted>
...ignoring
TASK [elliotweiser.osx-command-line-tools : Prepare to install Command Line Tools] *************************************
changed: [127.0.0.1]
TASK [elliotweiser.osx-command-line-tools : Check for Command Line Tools in Software Update list (MacOS < 10.15).] *****
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: NameError: name 'PEP440Version' is not defined
fatal: [127.0.0.1]: FAILED! =>
msg: 'Unexpected failure during module execution: name ''PEP440Version'' is not defined'
stdout: ''
Edit: This was quickly fixed by reinstalling Ansible—my installation seemed to be a bit out of date and was present after an emergency Time Machine restore!
pip3 uninstall ansible ansible-core --break-system-packages
pip3 install ansible --break-system-packages
Seems like an Ansible thing rather than a Mac thing, but I got this on core 2.19:
TASK [geerlingguy.mac.mas : Ensure MAS is installed.] ******************************************************************
[ERROR]: Task failed: Conditional result (True) was derived from value of type 'list' at '/Users/jgeerling/Development/mac-dev-playbook/config.yml:189:3'. Conditionals must have a boolean result.
Task failed.
Origin: /Users/jgeerling/.ansible/collections/ansible_collections/geerlingguy/mac/roles/mas/tasks/main.yml:2:3
1 ---
2 - name: Ensure MAS is installed.
^ column 3
<<< caused by >>>
Conditional result (True) was derived from value of type 'list' at '/Users/jgeerling/Development/mac-dev-playbook/config.yml:189:3'. Conditionals must have a boolean result.
Origin: /Users/jgeerling/Development/mac-dev-playbook/main.yml:23:13
21 tags: ['dotfiles']
22 - role: geerlingguy.mac.mas
23 when: mas_installed_apps or mas_installed_app_ids
^ column 13
Broken conditionals can be temporarily allowed with the `ALLOW_BROKEN_CONDITIONALS` configuration option.
fatal: [127.0.0.1]: FAILED! => changed=false
msg: 'Task failed: Conditional result (True) was derived from value of type ''list'' at ''/Users/jgeerling/Development/mac-dev-playbook/config.yml:189:3''. Conditionals must have a boolean result.'
Opened: https://github.com/geerlingguy/ansible-collection-mac/issues/118 Fixed via commit 719de35 (see below).