mtos_pm/
structs.rs

1use core::cell::RefCell;
2
3use serde::{Deserialize, Serialize};
4
5#[non_exhaustive]
6#[derive(Debug, Deserialize, Serialize)]
7pub struct Cfg {
8    pub repos: Repos,
9    pub general: General,
10    /**
11    `MatuushOS`
12     > ⚠️ Warning: Do not try to pub use the [`mtos`] type on a non-MatuushOS system!!! It can potentially harm your system.
13    **/
14    #[cfg(target_os = "linux")]
15    pub mtos: MatuushOS,
16}
17
18#[non_exhaustive]
19#[derive(Debug, Deserialize, Serialize)]
20pub struct Repos {
21    pub main_repo: String,
22    pub alias: String,
23}
24
25#[non_exhaustive]
26#[derive(Debug, Serialize, Deserialize)]
27pub struct General {
28    pub mode: String,
29}
30
31#[non_exhaustive]
32#[cfg(target_os = "linux")]
33#[derive(Debug, Serialize, Deserialize)]
34pub struct MatuushOS {
35    pub store_dir: String,
36    pub fs_locked: bool,
37    pub system_pkgs: RefCell<Vec<String>>,
38    pub system_mode: String,
39    pub channel: String,
40}