2018-10-05 13:10:08 +03:00
|
|
|
# LinuxKit Nix - Linux Nix VM
|
|
|
|
|
|
|
|
LinuxKit Nix makes it easy to build Linux binaries from a macOS machine using
|
|
|
|
Nix. It's installing a VM using the native virtualization
|
|
|
|
(Hypervisor.Framework) so it's quite liteweight compared to installing
|
|
|
|
VirtualBox. The project also comes with an installation script that configures
|
|
|
|
Nix to use the VM as a remote builder automatically.
|
2018-04-02 17:34:28 +03:00
|
|
|
|
2018-11-02 18:16:50 +03:00
|
|
|
## Requirements
|
|
|
|
|
|
|
|
This project depends on Nix and a nixpkgs channel >= 18.03.
|
|
|
|
|
2018-07-13 16:41:06 +03:00
|
|
|
## Installation
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-07-13 16:41:06 +03:00
|
|
|
Fetch it from the NixOS binary cache:
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-09-18 14:18:59 +03:00
|
|
|
nix-env -i /nix/store/v4i5gx94r2qxs91mfy8sz4mmnigzravy-linuxkit-builder
|
2018-07-13 16:41:06 +03:00
|
|
|
nix-linuxkit-configure
|
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
It'll write to:
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
- ~/.cache/nix-linuxkit-builder/, in particular
|
|
|
|
~/.cache/nix-linuxkit-builder/nix-state/console-ring is interesting
|
|
|
|
- ~root/.ssh/ for the SSH config
|
|
|
|
- /etc/nix/machines
|
|
|
|
- ~/Library/LaunchAgents/org.nix-community.linuxkit-builder.plist
|
2018-04-11 15:48:41 +03:00
|
|
|
|
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
It should automatically start and stay running, but ...
|
2018-04-11 15:48:41 +03:00
|
|
|
|
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
You can force start it with:
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
launchctl start org.nix-community.linuxkit-builder
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
You can force stop it with:
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
launchctl stop org.nix-community.linuxkit-builder
|
2018-04-11 15:48:41 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
If after you stop it you may want to check for processes, like:
|
2018-04-02 17:34:28 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
pgrep vpnkit
|
|
|
|
pgrep linuxkit
|
|
|
|
pgrep hyperkit
|
2018-04-02 17:34:28 +03:00
|
|
|
|
2018-08-11 13:49:19 +03:00
|
|
|
If something goes wrong and it didn't stop properly, you can try:
|
2018-04-02 17:34:28 +03:00
|
|
|
|
2018-05-24 18:20:16 +03:00
|
|
|
pkill -F ~/.cache/nix-linuxkit-builder/nix-state/hyperkit.pid hyperkit
|