12 amazon = ../../maintainers/scripts/ec2/amazon-image.nix;
13 azure = ../virtualisation/azure-image.nix;
14 digital-ocean = ../virtualisation/digital-ocean-image.nix;
15 google-compute = ../virtualisation/google-compute-image.nix;
16 hyperv = ../virtualisation/hyperv-image.nix;
17 linode = ../virtualisation/linode-image.nix;
18 lxc = ../virtualisation/lxc-container.nix;
19 lxc-metadata = ../virtualisation/lxc-image-metadata.nix;
20 oci = ../virtualisation/oci-image.nix;
21 openstack = ../../maintainers/scripts/openstack/openstack-image.nix;
22 openstack-zfs = ../../maintainers/scripts/openstack/openstack-image-zfs.nix;
23 proxmox = ../virtualisation/proxmox-image.nix;
24 proxmox-lxc = ../virtualisation/proxmox-lxc.nix;
25 qemu-efi = ../virtualisation/disk-image.nix;
27 imports = [ ../virtualisation/disk-image.nix ];
28 image.efiSupport = false;
31 imports = [ ../virtualisation/disk-image.nix ];
35 imports = [ ../virtualisation/disk-image.nix ];
37 image.efiSupport = false;
39 kubevirt = ../virtualisation/kubevirt.nix;
40 vagrant-virtualbox = ../virtualisation/vagrant-virtualbox-image.nix;
41 virtualbox = ../virtualisation/virtualbox-image.nix;
42 vmware = ../virtualisation/vmware-image.nix;
43 iso = ../installer/cd-dvd/iso-image.nix;
44 iso-installer = ../installer/cd-dvd/installation-cd-base.nix;
48 module = ../. + "/installer/sd-card/sd-image-${pkgs.targetPlatform.linuxArch}.nix";
50 if builtins.pathExists module then [ module ] else throw "The module ${module} does not exist.";
52 kexec = ../installer/netboot/netboot-minimal.nix;
54 imageConfigs = lib.mapAttrs (
59 ) config.image.modules;
64 images = lib.mkOption {
65 type = types.lazyAttrsOf types.raw;
68 Different target images generated for this NixOS configuration.
72 image.modules = lib.mkOption {
73 type = types.attrsOf types.deferredModule;
75 image-specific NixOS Modules used for `system.build.images`.
80 config.image.modules = lib.mkIf (!config.system.build ? image) imageModules;
81 config.system.build.images = lib.mkIf (!config.system.build ? image) (
85 inherit (nixos) config;
86 inherit (config.image) filePath;
88 config.system.build.image
89 or (throw "Module for `system.build.images.${name}` misses required `system.build.image` option.");
91 lib.recursiveUpdate builder {
93 inherit config filePath;