soar_core/
repositories.rs

1#[derive(Default)]
2pub struct DefaultRepositoryInfo {
3    pub name: &'static str,
4    pub url_template: &'static str,
5    pub pubkey: Option<&'static str>,
6    pub desktop_integration: Option<bool>,
7    pub enabled: Option<bool>,
8    pub signature_verification: Option<bool>,
9    pub sync_interval: Option<&'static str>,
10    pub platforms: Vec<&'static str>,
11    pub is_core: bool,
12}
13
14/// Returns a list of default repositories with their rules and supported platforms.
15pub fn get_platform_repositories() -> Vec<DefaultRepositoryInfo> {
16    vec![
17        DefaultRepositoryInfo {
18            name: "bincache",
19            url_template: "https://meta.pkgforge.dev/bincache/{}.sdb.zstd",
20            pubkey: Some("https://meta.pkgforge.dev/bincache/minisign.pub"),
21            desktop_integration: Some(false),
22            enabled: Some(true),
23            signature_verification: Some(true),
24            sync_interval: Some("3h"),
25            platforms: vec!["aarch64-Linux", "riscv64-Linux", "x86_64-Linux"],
26            is_core: true,
27        },
28        DefaultRepositoryInfo {
29            name: "pkgcache",
30            url_template: "https://meta.pkgforge.dev/pkgcache/{}.sdb.zstd",
31            pubkey: Some("https://meta.pkgforge.dev/pkgcache/minisign.pub"),
32            desktop_integration: Some(true),
33            platforms: vec!["aarch64-Linux", "riscv64-Linux", "x86_64-Linux"],
34            is_core: true,
35            ..DefaultRepositoryInfo::default()
36        },
37        DefaultRepositoryInfo {
38            name: "pkgforge-cargo",
39            url_template: "https://meta.pkgforge.dev/external/pkgforge-cargo/{}.sdb.zstd",
40            desktop_integration: Some(false),
41            platforms: vec![
42                "aarch64-Linux",
43                "loongarch64-Linux",
44                "riscv64-Linux",
45                "x86_64-Linux",
46            ],
47            is_core: true,
48            ..DefaultRepositoryInfo::default()
49        },
50        DefaultRepositoryInfo {
51            name: "pkgforge-go",
52            url_template: "https://meta.pkgforge.dev/external/pkgforge-go/{}.sdb.zstd",
53            desktop_integration: Some(false),
54            platforms: vec![
55                "aarch64-Linux",
56                "loongarch64-Linux",
57                "riscv64-Linux",
58                "x86_64-Linux",
59            ],
60            is_core: true,
61            ..DefaultRepositoryInfo::default()
62        },
63        DefaultRepositoryInfo {
64            name: "ivan-hc-am",
65            url_template: "https://meta.pkgforge.dev/external/am/{}.sdb.zstd",
66            desktop_integration: Some(true),
67            platforms: vec!["x86_64-Linux"],
68            is_core: false,
69            ..DefaultRepositoryInfo::default()
70        },
71        DefaultRepositoryInfo {
72            name: "appimage-github-io",
73            url_template: "https://meta.pkgforge.dev/external/appimage.github.io/{}.sdb.zstd",
74            desktop_integration: Some(true),
75            platforms: vec!["aarch64-Linux", "x86_64-Linux"],
76            is_core: false,
77            ..DefaultRepositoryInfo::default()
78        },
79    ]
80}