From c4ed68d0e93b7e809253d776e2fa8914d3e8292b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=C3=ABl=20Cluseau?= Date: Sun, 16 Nov 2025 17:21:41 +0100 Subject: [PATCH] lib: more defaults and ignore-if-empty --- src/bootstrap.rs | 9 ++------- src/lib.rs | 12 +++++++----- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/bootstrap.rs b/src/bootstrap.rs index f8c0f8f..35a0ec1 100644 --- a/src/bootstrap.rs +++ b/src/bootstrap.rs @@ -122,9 +122,10 @@ pub struct LvmLVDefaults { pub raid: Raid, } -#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)] +#[derive(Clone, Default, Debug, serde::Deserialize, serde::Serialize)] #[serde(rename_all = "snake_case")] pub enum Filesystem { + #[default] Ext4, Xfs, Btrfs, @@ -143,12 +144,6 @@ impl Filesystem { } } -impl Default for Filesystem { - fn default() -> Self { - Filesystem::Ext4 - } -} - #[derive(Clone, Debug, serde::Deserialize, serde::Serialize)] pub struct LvmLV { pub name: String, diff --git a/src/lib.rs b/src/lib.rs index 75710fb..c634283 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,11 +1,11 @@ pub mod apply; pub mod bootstrap; pub mod dls; -pub mod logger; pub mod dynlay; pub mod fs; +pub mod logger; -#[derive(Debug, serde::Deserialize, serde::Serialize)] +#[derive(Debug, Default, serde::Deserialize, serde::Serialize)] pub struct Config { pub layers: Vec, pub root_user: RootUser, @@ -19,18 +19,20 @@ pub struct Config { pub users: Vec, } -#[derive(Debug, serde::Deserialize, serde::Serialize)] +#[derive(Debug, Default, serde::Deserialize, serde::Serialize)] pub struct RootUser { #[serde(skip_serializing_if = "Option::is_none")] pub password_hash: Option, pub authorized_keys: Vec, } -#[derive(Debug, serde::Deserialize, serde::Serialize)] +#[derive(Debug, Default, serde::Deserialize, serde::Serialize)] pub struct Mount { - pub r#type: Option, pub dev: String, pub path: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub r#type: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub options: Option, }