Automated macOS virtual machines for Tart using HashiCorp Packer, with provisioning via shell script or Ansible.
Important
This project bypasses Setup Assistant for unattended installation, which may have unexpected
side effects. Not indended for production use
Please make sure to read and accept the license agreement of the macOS version you're installing.
- Automatic IPSW download handling: Specify version to download the correct IPSW file
- Fully unattended installation: Automated macOS setup without Setup Assistant interaction
- System Integrity Protection (SIP) management: Optional automated SIP disabling during setup
- Customizable resources: Configure CPU count, memory size, and disk size
- Minimal provisioning: Default minimal provisioning for base images
- Passwordless
sudoenabled - Screensaver, sleep, and lock screen disabled
- SSH and VNC services enabled
- Python installed (when Ansible is used)
- Passwordless
- Optional Ansible provisioning: Bring your own Ansible playboooks
brew install hashicorp/tap/packer
brew install cirruslabs/cli/tart
brew install ansible # Optional
packer init macospacker build -var version=26 macospacker build \
-var version=26 \
-var cpu_count=8 \
-var memory_size=16 \
-var disk_size=100 \
-var username=developer \
-var password=hunter2 \
macospacker build \
-var version=26 \
-var disable_sip=true \
macospacker build -var version=26-0 macospacker build \
-var version=26 \
-var ansible_playbook=playbook.yml \
macospacker build \
-var version=26 \
-var provisioning_script=/path/to/custom-setup.sh \
macos