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
18 lines
557 B
Nix
18 lines
557 B
Nix
{ pkgs, lib, ... }:
|
|
rec {
|
|
generalize = import ./generalize.nix { inherit pkgs lib; };
|
|
|
|
software = import ./software { inherit pkgs lib; };
|
|
profile = import ./profile { inherit pkgs lib; };
|
|
|
|
essentials = {
|
|
remoteAccess = import ./essentials/remote-access.nix { };
|
|
noUpdates = import ./essentials/no-updates.nix { };
|
|
performance = import ./essentials/performance.nix { inherit pkgs; };
|
|
};
|
|
|
|
bundles = {
|
|
basic = with essentials; [ noUpdates performance ];
|
|
remote = with essentials; [ noUpdates performance remoteAccess ];
|
|
};
|
|
}
|