-
-
Save jfro/4f9559d462bcc67238e4617d34730680 to your computer and use it in GitHub Desktop.
Ventura packer config
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
packer { | |
required_plugins { | |
tart = { | |
version = ">= 1.10.0" | |
source = "github.com/cirruslabs/tart" | |
} | |
} | |
} | |
source "tart-cli" "tart" { | |
# You can find macOS IPSW URLs on various websites like https://ipsw.me/ | |
# and https://www.theiphonewiki.com/wiki/Beta_Firmware/Mac/13.x | |
from_ipsw = "https://updates.cdn-apple.com/2023FallFCS/fullrestores/042-55833/C0830847-A2F8-458F-B680-967991820931/UniversalMac_13.6_22G120_Restore.ipsw" | |
vm_name = "ventura-test" | |
cpu_count = 4 | |
memory_gb = 16 | |
disk_size_gb = 60 | |
ssh_password = "admin" | |
ssh_username = "admin" | |
ssh_timeout = "120s" | |
boot_command = [ | |
# hello, hola, bonjour, etc. | |
"<wait60s><spacebar>", | |
# Language | |
"<wait30s>english<enter>", | |
# Select Your Country and Region | |
"<wait30s>united states<leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Written and Spoken Languages | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Accessibility | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Data & Privacy | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Migration Assistant | |
"<wait10s><tab><tab><tab><spacebar>", | |
# Sign In with Your Apple ID | |
"<wait10s><leftShiftOn><tab><leftShiftOff><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Are you sure you want to skip signing in with an Apple ID? | |
"<wait10s><tab><spacebar>", | |
# Terms and Conditions | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# I have read and agree to the macOS Software License Agreement | |
"<wait10s><tab><spacebar>", | |
# Create a Computer Account | |
"<wait10s>admin<tab><tab>admin<tab>admin<tab><tab><tab><spacebar>", | |
# Enable Location Services | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Are you sure you don't want to use Location Services? | |
"<wait10s><tab><spacebar>", | |
# Select Your Time Zone | |
"<wait10s><tab>UTC<enter><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Analytics | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Screen Time | |
"<wait10s><tab><spacebar>", | |
# Siri | |
"<wait10s><tab><spacebar><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Choose Your Look | |
"<wait10s><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Enable Voice Over | |
"<wait10s><leftAltOn><f5><leftAltOff><wait5s>v", | |
# Now that the installation is done, open "System Settings" | |
"<wait10s><leftAltOn><spacebar><leftAltOff>System Settings<enter>", | |
# Navigate to "Sharing" | |
"<wait10s><leftAltOn>f<leftAltOff>sharing<enter>", | |
# Navigate to "Screen Sharing" and enable it | |
"<wait10s><tab><down><spacebar>", | |
# Navigate to "Remote Login" and enable it | |
"<wait10s><tab><tab><tab><tab><tab><tab><spacebar>", | |
# Open "Remote Login" details | |
"<wait10s><tab><spacebar>", | |
# Enable "Full Disk Access" | |
"<wait10s><tab><spacebar>", | |
# Click "Done" | |
"<wait10s><leftShiftOn><tab><leftShiftOff><leftShiftOn><tab><leftShiftOff><spacebar>", | |
# Disable Voice Over | |
"<leftAltOn><f5><leftAltOff>", | |
] | |
// A (hopefully) temporary workaround for Virtualization.Framework's | |
// installation process not fully finishing in a timely manner | |
create_grace_time = "30s" | |
} | |
build { | |
sources = ["source.tart-cli.tart"] | |
provisioner "shell" { | |
inline = [ | |
// Enable passwordless sudo | |
"echo admin | sudo -S sh -c \"mkdir -p /etc/sudoers.d/; echo 'admin ALL=(ALL) NOPASSWD: ALL' | EDITOR=tee visudo /etc/sudoers.d/admin-nopasswd\"", | |
] | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment