Skip to main content

TUI Wizard

The TUI wizard guides you through macOS VM creation in 6 steps. Launch it by running the install script on your Proxmox host:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/lucid-fabrics/osx-proxmox-next/main/install.sh)"

Step 1: Preflight Checks

Automatically validates your Proxmox host before proceeding.

Preflight checks

CheckWhat It Verifies
CPU vendorIntel or AMD detected, applies correct config
VirtualizationVT-x / AMD-V enabled
Root accessRunning as root on Proxmox
DependenciesRequired packages installed
TSC flagsconstant_tsc and nonstop_tsc for clock stability

No user input required. The wizard auto-detects your hardware and moves forward.

note

Xeon and pre-Skylake Intel CPUs are detected automatically. Xeon keeps -cpu host, older consumer Intel gets Penryn mode with e1000 NIC.

Step 2: Choose macOS Version

Select your target macOS version from the list.

Choose macOS version

macOSApple ServicesNotes
Ventura 13WorksLightweight, good for older hardware
Sonoma 14WorksBest tested, most reliable
Sequoia 15Works (with --apple-services)Kernel patch applied automatically
Tahoe 26Works (with --apple-services)Kernel patch applied automatically

SMBIOS identity (serial, UUID, model) is auto-generated when you select a version.

Step 3: Select Storage

Choose a storage target from auto-detected Proxmox storage pools. The wizard scans for available pools (e.g., local-lvm, NAS mounts under /mnt/pve/).

Storage selection

Step 4: VM Configuration

Review and edit VM settings with auto-filled defaults based on your hardware.

VM configuration

FieldDefaultDescription
VMID900Must be unique, 100-999999
Namemacos-{version}VM display name
CPU CoresAuto-detectedMust be power of 2 (2, 4, 8, 16)
Memory (MB)Auto-detectedMinimum 4096 MB
Disk (GB)Varies by version (80-160)Minimum 64 GB
Network Bridgevmbr0Proxmox bridge interface
VLAN TagUntaggedOptional VLAN tag for net0, 1-4094

Additional options available in this step:

  • Generate SMBIOS -- regenerate identity values
  • Enable Apple Services -- adds vmgenid, static MAC, and PlatformInfo patching
  • Verbose Boot -- shows kernel log instead of Apple logo
  • Unattended install (BETA) -- finishes the macOS install by itself, see Unattended Install
  • Existing UUID -- enter a UUID to preserve identity for re-runs
warning

macOS requires power-of-2 CPU core counts. Non-power-of-2 values (6, 12) can cause the kernel to hang at the Apple logo.

Step 5: Dry Run

The wizard auto-downloads any missing assets (OpenCore ISO, recovery image), then previews every qm command that will be executed.

Dry run review

This step shows:

  • Each command with its title and risk level
  • The full qm create, qm set, and disk import sequence
  • SMBIOS values that will be applied
  • Boot order configuration

Nothing is executed yet. Review the commands before proceeding.

note

Smart caching: OpenCore and recovery images are downloaded once and reused. Creating a second VM with the same macOS version skips the download entirely.

Step 6: Install

Executes all commands from the dry-run preview:

  1. Creates the VM with qm create
  2. Builds the OpenCore bootloader (GPT + EFI partition)
  3. Imports OpenCore and recovery disks via qm disk import (falls back to qm importdisk on older Proxmox)
  4. Configures boot order (ide2;virtio0;ide0)
  5. Starts the VM

After completion, open the VM console via Proxmox web UI (noVNC) to continue macOS installation.

Post-Install

Run this as soon as the installer reboots the VM for the first time, not only once macOS is fully installed:

osx-next-cli post-install --vmid <id> --execute

It detaches recovery, sets boot order ide0;virtio0, and restores the picker's 15 second auto-boot. Until you run it, every reboot stops at the picker with recovery listed first, so the install only resumes if you pick the installer by hand.


Manage Mode

After creating VMs, launch the wizard with the --manage flag to manage existing macOS VMs:

osx-next --manage

Manage mode lists all macOS VMs detected on the host (identified by isa-applesmc in their config) and provides three actions per VM:

ActionWhat It Does
EditOpens an edit form to change cores, memory, name, network bridge, or disk size. Changes are previewed before applying.
Start / StopToggles the VM power state.
DestroyStops and destroys the VM. A config snapshot is saved to generated/snapshots/ before destruction. Rollback hints are shown on failure.

The edit form in manage mode behaves the same as the edit subcommand: the VM is stopped before changes are applied, existing MAC address and NIC model are preserved when changing the bridge, and the VM can optionally be restarted after.