{ writeText, pigeon-vcpu-count ? 1, pigeon-memory-size-mb ? 512, pigeon-kernel, pigeon-rootfs }: writeText "pigeon-vm.json" (builtins.toJSON { boot-source = { kernel_image_path = "${pigeon-kernel}"; boot_args = "reboot=k panic=1 quiet init=/init nomodule 8250.nr_uarts=0 i8042.noaux i8042.nomux i8042.dumbkbd swiotlb=noforce"; }; drives = [ { drive_id = "rootfs"; path_on_host = "${pigeon-rootfs}"; is_root_device = true; is_read_only = true; } { drive_id = "student"; path_on_host = ""; is_root_device = false; is_read_only = true; } { drive_id = "grader"; path_on_host = ""; is_root_device = false; is_read_only = true; } { drive_id = "results"; path_on_host = ""; is_root_device = false; is_read_only = false; } ]; machine-config = { vcpu_count = pigeon-vcpu-count; mem_size_mib = pigeon-memory-size; }; })