Skip to content

Resources and architecture ​

The [resources] table sets the size of a VM and the architecture of its Linux system. This page covers the settings, how to change them, and what a guest of another architecture needs.

Set resources ​

toml
[resources]
arch = "arm64"
cpu = 4
mem = "8GiB"
disk = "40GiB"
SettingValueDefault
archGuest architecture: arm64 or amd64"arm64"
cpuNumber of virtual CPUs, a positive whole number4
memMemory in whole GiB, as a quoted string such as "8GiB""8GiB"
diskSize of the guest disk in whole GiB, such as "40GiB""10GiB"

GiB is the only unit: "8GB", "1.5GiB", "0GiB" and "08GiB" are rejected. A setting you leave out keeps its default: [resources] with only cpu = 2 keeps the default architecture, memory and disk. On an Intel Mac, set arch = "amd64".

disk covers only the guest disk; the managed home and shared folders live on the Mac. Leave room for Docker images and volumes, Kubernetes clusters and build caches. See Files and storage.

Change resources ​

Edit [resources] and run limanix update --config limanix.toml. The update stops a running VM, applies the new sizes and starts it again; see Changing a VM.

SettingWith update
cpu, memCan change
diskCan grow; a smaller size is rejected
archFixed when the VM is created; create a new VM for another architecture

update compares disk with the disk's actual size, which an earlier failed update may already have grown.

Choose the guest architecture ​

The guest architecture and your Mac decide how the VM runs:

MacarchRuns withNetwork
Apple Siliconarm64Apple Virtualization frameworkNative NAT
Intelamd64Apple Virtualization frameworkNative NAT
Apple Siliconamd64QEMULima shared network through socket_vmnet
Intelarm64QEMULima shared network through socket_vmnet

A guest that matches your Mac needs neither QEMU nor socket_vmnet. LimaNix spells the architectures arm64 and amd64, not Nix's aarch64 and x86_64.

Run a guest of another architecture ​

Prepare the Mac before you create the VM. Install QEMU, and make the emulator for the guest architecture available in your Mac's PATH:

Guest archExecutable
amd64qemu-system-x86_64
arm64qemu-system-aarch64

Then prepare the network as your regular Mac user, in an interactive terminal:

sh
limanix network setup

The command checks the existing Lima network setup. When something must be installed, it shows the paths and asks for confirmation before it runs sudo:

ItemLocation
Bundled network helper/opt/socket_vmnet/bin/socket_vmnet
Lima sudoers rules/private/etc/sudoers.d/lima

An existing sudoers file is backed up before it is replaced. LimaNix and QEMU keep running as your user. limanix create and limanix update of a QEMU guest offer the same installation in an interactive terminal; in a noninteractive run, they report that the setup is required instead.

Use the client for your Mac ​

Run the limanix binary built for your Mac's hardware: limanix-arm64 on Apple Silicon, limanix-amd64 on Intel. VM commands reject the Intel binary running through Rosetta on Apple Silicon. For an Intel guest on Apple Silicon, use the arm64 client with arch = "amd64".

Free and open source under the Apache License 2.0.