den
1{lib, ...}: {
2 den.aspects.services.provides.mihomo.nixos = {config, ...}: let
3 NodeParam = {
4 type = "http";
5 interval = 86400;
6 health-check = {
7 enable = true;
8 url = "http://cp.cloudflare.com";
9 interval = 300;
10 };
11 };
12 in {
13 services.mihomo.config.proxy-providers = lib.mkIf config.services.mihomo.enable {
14 "Node-YiYuan" =
15 NodeParam
16 // {
17 url = config.vaultix.placeholder.mihomo-providers-yi_yuan;
18 path = "./proxy_provider/providers-yi_yuan.yaml";
19 override.additional-prefix = "[YY]";
20 };
21 "Node-MoJie" =
22 NodeParam
23 // {
24 url = config.vaultix.placeholder.mihomo-providers-mo_jie;
25 path = "./proxy_provider/providers-mo_jie.yaml";
26 override.additional-prefix = "[MJ]";
27 };
28 "Node-HongXing" =
29 NodeParam
30 // {
31 url = config.vaultix.placeholder.mihomo-providers-hong_xing;
32 path = "./proxy_provider/providers-hong_xing.yaml";
33 override.additional-prefix = "[HX]";
34 };
35 };
36
37 vaultix.secrets.mihomo-providers-yi_yuan.file = ./provider-yi_yuan.age;
38 vaultix.secrets.mihomo-providers-mo_jie.file = ./provider-mo_jie.age;
39 vaultix.secrets.mihomo-providers-hong_xing.file = ./provider-hong_xing.age;
40 };
41}