diff --git a/networkmanager/Cargo.toml b/networkmanager/Cargo.toml index 783edce..ac846f1 100644 --- a/networkmanager/Cargo.toml +++ b/networkmanager/Cargo.toml @@ -7,6 +7,7 @@ license = "MPL-2.0" [dependencies] bitflags = "1.3.2" derive_builder = "0.10.2" +serde = { version = "1.0.134", features = ["derive"] } zbus = "2.0.1" [features] diff --git a/networkmanager/src/settings/connection.rs b/networkmanager/src/settings/connection.rs index 1a3f53d..17f76cb 100644 --- a/networkmanager/src/settings/connection.rs +++ b/networkmanager/src/settings/connection.rs @@ -22,10 +22,11 @@ impl<'a> From> for Connection<'a> { macro_rules! derive_value_build { ($name:ident, $(($arg:ident: $arg_ty:ty)),*) => { - #[derive(Builder)] + #[derive(Builder, serde::Deserialize, serde::Serialize)] pub struct $name { $( #[builder(setter(into, strip_option))] + #[serde(skip_serializing_if = "Option::is_none")] $arg: Option<$arg_ty>, )* }