mac-dev-playbook icon indicating copy to clipboard operation
mac-dev-playbook copied to clipboard

Quirks with automating macOS Tahoe

Open geerlingguy opened this issue 2 months ago • 2 comments

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 .osx commands 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 EnableStandardClickToShowDesktop option to my .osx file

geerlingguy avatar Oct 07 '25 04:10 geerlingguy

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

geerlingguy avatar Oct 07 '25 04:10 geerlingguy

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).

geerlingguy avatar Oct 07 '25 05:10 geerlingguy