.github | ||
checks | ||
core | ||
declarative | ||
nix | ||
template | ||
tool | ||
.envrc | ||
.gitignore | ||
CONTRIBUTING.md | ||
COPYING.GPL3 | ||
COPYING.ISC | ||
default.nix | ||
flake.lock | ||
flake.nix | ||
INSTALL.md | ||
README.md | ||
shell.nix | ||
Taskfile.yaml | ||
USAGE.md |
NOTICE: I have lost interest in this project
As of February 9th, 2023 I no longer rely on miniguest in production and don't actively maintain it. If you wish to take over, feel free.
Low-footprint NixOS images
Miniguest makes lightweight NixOS guest images for popular virtualisation tools. The guest systems live entirely on the host's Nix store. The host system does not need to be NixOS.
How lightweight?
Lighter than if it were the host system. There is no disk image, no bootloader, no ISO. Just plain immutable files that are friendly to Nix's deduplication mechanisms.
Getting started
You can read the Installation guide, then the Usage guide.
Support Vector
QEMU virtual machines and Linux containers are supported.
For VMs, Libvirt integration is present. For containers, Miniguest can produce templates in LXC format.
Related work
-
nixos-container
: Miniguest takes inspiration from NixOS's containers, however, containers wrapssystemd-nspawn
, whereas Miniguest delegates container management to any supported hypervisor. -
nixos-rebuild build-vm
: Miniguest borrows the store-sharing mechanism from NixOS's built-in lightweight QEMU VMs when applicable, but it lets a framework take care of the VM configuration and lifecycle.