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