image record, described right after, allows you to define a
customized bootable system image.
This is the data type representing a system image.
The image name as a symbol,
'my-iso9660 for instance. The name
is optional and it defaults to
The image format as a symbol. The following formats are supported:
disk-image, a raw disk image composed of one or multiple partitions.
compressed-qcow2, a compressed qcow2 image composed of one or multiple partitions.
docker, a Docker image.
iso9660, an ISO-9660 image.
tarball, a tar.gz image archive.
wsl2, a WSL2 image.
platform record the image is targeting (see Platforms),
aarch64-linux for instance. By default, this field is set to
#false and the image will target the host platform.
The image size in bytes or
which is the default, means that the image size will be inferred based
on the image content.
operating-system record that is instanciated.
The image partition table type as a symbol. Possible values are
'gpt. It default to
The image partitions as a list of
(see partition Reference).
Whether the image content should be compressed, as a boolean. It
#true and only applies to
Whether the image root partition should be made volatile, as a boolean.
This is achieved by using a RAM backed file system (overlayfs) that is
mounted on top of the root partition by the initrd. It defaults to
#true. When set to
#false, the image root partition is
mounted as read-write partition by the initrd.
Whether the image’s store should be shared with the host system, as a
boolean. This can be useful when creating images dedicated to virtual
machines. When set to
#false, which is the default, the image’s
operating-system closure is copied to the image. Otherwise, when
#true, it is assumed that the host store will be made
available at boot, using a
9p mount for instance.
Whether to use the host network interfaces within the image, as a
boolean. This is only used for the
'docker image format. It
Whether the image derivation should be substitutable, as a boolean. It