vmix.nix/lib/images/macos/helpers
Git Sagar 0f9373263d macOS: guest agent, online templates, virtio-fs shares, persistent home volume
Apple's built-in QEMU guest agent (AppleQEMUGuestAgent, launched by launchd
when a virtio console port org.qemu.guest_agent.0 appears; guest-exec as root)
is attached by vmix run --macos and the NixOS module. AppleVirtIO.kext on x86
Tahoe drives virtio-fs, block, console, input, net — verified in QEMU.

- customizeImage: `bootScript` — online step through the guest agent (driver
  mode qga): boot the image, run the script as root with the VMIX volume, shut
  down through the agent. `as_user` runs commands in the logged-in session.
- templates.software: pkg/app (offline in the PE), script/homebrew (online).
- templates.profile.settings: widgets, wallpaper (pinned desktoppr — Apple
  Events need TCC consent that a headless session cannot give), dock apps,
  autohide, dark mode, hidden files.
- generalize: persistHome (fstab LABEL=vmix-home /Users), hideWidgets offline.
- formatVolume: formats a blank disk image as APFS by booting the PE (~35 s);
  idempotent.
- NixOS module: macos.guestAgent (/run/vmix/qga-<name>.sock), shares via
  virtiofsd + vhost-user-fs (Apple automount tag for the first share, others
  mounted through the agent), macos.homeDisk (created + formatted on first
  start, virtio-blk), SPICE keeps -vga vmware for macOS.
- CLI: vmix run --macos --share DIR --home FILE --qga PATH.
- qemu.nix helpers; README section.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XsESshRCoBoUVWV9qKURUF
2026-09-10 13:34:28 -03:00
..
customizeImage.nix macOS: guest agent, online templates, virtio-fs shares, persistent home volume 2026-09-10 13:34:28 -03:00
fetchRecovery.nix macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00
formatVolume.nix macOS: guest agent, online templates, virtio-fs shares, persistent home volume 2026-09-10 13:34:28 -03:00
ident.nix macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00
installBootloader.nix macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00
installerPayload.nix macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00
macserial.nix macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00
makeBootDisk.nix macOS: drive the install and all customization from a Recovery "PE", no GUI 2026-09-10 13:33:38 -03:00
makeImage.nix macOS: current Lilu/VirtualSMC/WhateverGreen/RestrictEvents, no isa-applesmc 2026-09-10 13:33:38 -03:00
makeOpenCore.nix macOS: current Lilu/VirtualSMC/WhateverGreen/RestrictEvents, no isa-applesmc 2026-09-10 13:33:38 -03:00
makeRecoveryPE.nix macOS: drive the install and all customization from a Recovery "PE", no GUI 2026-09-10 13:33:38 -03:00
makeVmixVolume.nix macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00
oc-config.py macOS: current Lilu/VirtualSMC/WhateverGreen/RestrictEvents, no isa-applesmc 2026-09-10 13:33:38 -03:00
qemu.nix macOS: guest agent, online templates, virtio-fs shares, persistent home volume 2026-09-10 13:34:28 -03:00
vm-driver.py macOS: guest agent, online templates, virtio-fs shares, persistent home volume 2026-09-10 13:34:28 -03:00
vmix-readback.nix macOS: drive the install and all customization from a Recovery "PE", no GUI 2026-09-10 13:33:38 -03:00
xar-toc.py macOS Tahoe VM images (OpenCore/QEMU), Apple-ID compatible, VNC 2026-09-10 13:33:38 -03:00