#[derive(Clone, Debug, Default, Deserialize, Serialize)]
pub struct GeneralConfig {
pub cookbook: Option<String>,
pub prompt: Option<bool>,
pub filesystem_size: Option<u32>,
pub efi_partition_size: Option<u32>,
pub skip_partitions: Option<bool>,
pub encrypt_disk: Option<String>,
pub live_disk: Option<bool>,
pub write_bootloader: Option<String>,
pub no_mount: Option<bool>,
}
impl GeneralConfig {
pub(super) fn merge(&mut self, other: GeneralConfig) {
if let Some(cookbook) = other.cookbook {
self.cookbook = Some(cookbook);
}
self.filesystem_size = other.filesystem_size.or(self.filesystem_size);
self.efi_partition_size = other.efi_partition_size.or(self.efi_partition_size);
self.skip_partitions = other.skip_partitions.or(self.skip_partitions);
if let Some(encrypt_disk) = other.encrypt_disk {
self.encrypt_disk = Some(encrypt_disk);
}
self.live_disk = other.live_disk.or(self.live_disk);
if let Some(write_bootloader) = other.write_bootloader {
self.write_bootloader = Some(write_bootloader);
}
self.no_mount = other.no_mount.or(self.no_mount);
}
}