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 #[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}