Skip to content

Install ​

LimaNix is one binary for your Mac, limanix. It includes Lima and the module catalog: you don't install Lima or Nix separately.

Requirements ​

RequirementDetails
macOS26 or newer
MacApple Silicon or Intel
sshIn your PATH
AccountYour normal Mac user; run LimaNix without sudo
NetworkCreating a VM downloads its base image and Nix packages

A guest of the other architecture, such as an Intel guest on Apple Silicon, also needs QEMU. See Resources and architecture.

Download ​

Download the binary for your Mac from limanix.dev/download or from the client releases on GitHub:

MacBinary
Apple Siliconlimanix-arm64
Intellimanix-amd64

To build the client from source instead, follow Build a native client in the client repository.

Install the binary ​

For an Apple Silicon binary saved in ~/Downloads:

sh
mkdir -p ~/.local/bin
install -m 755 ~/Downloads/limanix-arm64 ~/.local/bin/limanix

On Intel, use ~/Downloads/limanix-amd64. Adjust the path if you saved the file elsewhere.

Add it to your PATH ​

sh
export PATH="$HOME/.local/bin:$PATH"

The line applies to the current terminal. Add it to your shell's startup file to keep ~/.local/bin in PATH for new terminal sessions.

Check the installation ​

sh
limanix --version
limanix --help

--version prints the client version, and --help lists the commands.

The macOS approval prompt ​

The release binary has an ad-hoc signature with the virtualization entitlement, and Apple has not notarized it. If macOS asks you to approve opening the download, check that it came from limanix.dev or the client releases on GitHub before you allow it.

Use the binary for your Mac ​

Run the binary that matches your Mac's hardware. VM operations reject limanix-amd64 running under Rosetta on Apple Silicon. The native binary also runs a guest of the other architecture, with QEMU: for an Intel guest on Apple Silicon, use limanix-arm64 with resources.arch = "amd64". See Resources and architecture.

Update the client ​

Download the new binary and run the same install command; it replaces the old one. Each client bundles its own catalog release, and existing VMs keep their system until you apply their file with the new client. For each VM, run this in the folder that holds its limanix.toml:

sh
limanix update --config limanix.toml

The update restarts the VM. Changing a VM explains what it does.

Remove LimaNix ​

Removing the binary does not remove your VMs. Delete each VM first with limanix delete NAME: it removes the VM's disk and keeps its home on the Mac. Add --remove-home to remove the home too; LimaNix can no longer remove a home after its VM is deleted. Then remove the binary:

sh
rm ~/.local/bin/limanix

These stay on your Mac:

WhatWhere
Homes that limanix delete keptUnder home.root, ~/.limanix by default; delete printed each path
LimaNix state, such as imported modules and records of kept homes~/Library/Application Support/Limanix, or LIMANIX_HOME when set
Your limanix.toml files and project foldersWhere you keep them
The network helper and Lima's sudoers rules, if limanix network setup installed them/opt/socket_vmnet/bin/socket_vmnet and /private/etc/sudoers.d/lima

Free and open source under the Apache License 2.0.