Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

microvm.autostart

MicroVMs to start by default.

This includes declarative config.microvm.vms as well as MicroVMs that are managed through the microvm command.

Type: list of string

Default: [ ]

Declared by:

microvm.host.enable

Whether to enable the microvm.nix host module.

Type: boolean

Default: true

Declared by:

microvm.host.startupTimeout

Start up timeout for the VMs in seconds

Type: positive integer, meaning >0

Default: 150

Declared by:

microvm.host.useNotifySockets

Enable if all your MicroVMs run with a Hypervisor that sends readiness notification over a VSOCK.

Danger! If one of your MicroVMs doesn’t do this, its systemd service will not start up successfully!

Type: boolean

Default: false

Declared by:

microvm.stateDir

Directory that contains the MicroVMs

Type: absolute path

Default: "/var/lib/microvms"

Declared by:

microvm.vms

The MicroVMs that shall be built declaratively with the host NixOS.

Type: attribute set of (submodule)

Default: { }

Declared by:

microvm.vms.<name>.autostart

Add this MicroVM to config.microvm.autostart?

Type: boolean

Default: true

Declared by:

microvm.vms.<name>.config

A specification of the desired configuration of this MicroVM, as a NixOS module, for building without a flake.

Type: null or (Toplevel NixOS config)

Default: null

Declared by:

microvm.vms.<name>.flake

Source flake for declarative build

Type: null or absolute path

Default: flakeInputs.my-infra

Declared by:

microvm.vms.<name>.nixpkgs

This option is only respected when config is specified.

The nixpkgs path to use for the MicroVM. Defaults to the host’s nixpkgs.

Type: absolute path

Default: pkgs.path

Declared by:

microvm.vms.<name>.pkgs

This option is only respected when config is specified.

The package set to use for the MicroVM. Must be a nixpkgs package set with the microvm overlay. Determines the system of the MicroVM.

If set to null, a new package set will be instantiated.

Type: null or unspecified value

Default: pkgs

Declared by:

microvm.vms.<name>.restartIfChanged

Restart this MicroVM’s services if the systemd units are changed, i.e. if it has been updated by rebuilding the host.

Defaults to true for fully-declarative MicroVMs.

Type: boolean

Default: false

Declared by:

microvm.vms.<name>.specialArgs

This option is only respected when config is specified.

A set of special arguments to be passed to NixOS modules. This will be merged into the specialArgs used to evaluate the NixOS configurations.

Type: attribute set of unspecified value

Default: { }

Declared by:

microvm.vms.<name>.updateFlake

Source flakeref to store for later imperative update

Type: null or string

Default: "git+file:///home/user/my-infra"

Declared by: