From cff9f08ff4bdc57f484b65cecbd7e6c7ab0cebbf Mon Sep 17 00:00:00 2001 From: shibazaki Date: Fri, 3 Oct 2025 12:37:33 +0200 Subject: [PATCH] structs --- src/structs.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/structs.rs diff --git a/src/structs.rs b/src/structs.rs new file mode 100644 index 0000000..f194d77 --- /dev/null +++ b/src/structs.rs @@ -0,0 +1,45 @@ +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct System { + pub distro: String, + pub release: String, + pub arch: String, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct AptSource { + pub name: String, + pub uri: String, + pub suite: String, + pub components: Vec, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Package { + pub name: String, + pub version: String, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct PinRule { + pub package: Package, + pub priority: i32, +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct Options { + pub include_dependencies: bool, + pub fail_on_missing: bool, +} + +#[derive(Debug, Serialize, Deserialize)] +pub struct Config { + pub system: System, + pub apt_source: Vec, + pub packages: HashMap, // name, version + + pub pinned_packages: Vec, + pub options: Option, +}