Developing on macOS with Lima
This development guide is intended for any macOS system with any text editor or IDE.
Lima is a virtual machine launcher, mainly built for macOS, that provides convenient mechanisms for interacting and configuring virtual machines out of the box.
Setup
-
Install lima. You can find the instructions at Lima's Getting Started documentation
-
Create an Ubuntu virtual machine. This command will walk you through the installation process:
$ limactl start --name aurae
-
SSH into your virtual machine
$ limactl shell aurae
-
Follow the aurae Building from Source instructions. You can edit either stop the virtual machine, edit its configuration to create a writable mount of the source code directory from your host machine to the guest, or copy the contents of the source code directory to
/tmp/lima
, e.g.,/tmp/lima/aurae
-
[Optional] Mount the unix socket from the guest machine to the host machine. Lima provides a simple way to configure this, but you first need to stop your virtual machine to edit its configuration:
Now you can edit the config:$ limactl stop aurea
And you can add a configuration like this to the bottom:$ limactl edit aurea
Then start your virtual machine again and start auraed:portForwards: - guestSocket: "/var/run/aurae/aurae.sock" hostSocket: "aurae.sock"
In another shell copy the virtual machine's$ limactl start aurae $ limactl shell make auraed-start
~/.aurae
directory to your own:Edit the contents of$ limactl copy -r aurae:~/.aurae ~/.aurae
~/.aurae/config
to fit the requirements of your host machine. Now you can interact with aurae from your host machine! -
[Optional] If you're tired of specifying the name you gave your virtual machine, you can export an environment variable that
limactl
will use for the default, like so:$ export LIMA_INSTANCE=aurae