flake/nixos/profiles/common/opt-in/clash-meta-client/default.nix

55 lines
1.6 KiB
Nix
Raw Normal View History

{
pkgs,
config,
inputs,
...
}: {
services.clash = {
enable = true;
package = pkgs.clash-meta;
configFile = config.sops.templates."clash.yaml".path;
2023-12-27 07:28:18 +00:00
webui = inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.metacubexd;
};
2023-12-31 12:23:24 +00:00
### System proxy settings
networking.proxy.default = "http://127.0.0.1:7890/";
### sops-nix
sops.secrets = builtins.mapAttrs (_name: value: value // {restartUnits = ["clash.service"];}) {
2023-12-31 12:23:24 +00:00
"clash/secret" = {};
2024-01-25 21:37:20 +00:00
"clash/proxies/lon0" = {};
"clash/proxy-providers/efcloud" = {};
"clash/proxy-providers/spcloud" = {};
};
2023-12-31 12:23:24 +00:00
sops.templates."clash.yaml".content = let
convert = url: "https://sub.maoxiongnet.com/sub?target=clash&list=true&url=${url}";
in
builtins.readFile ./config.yaml
+ ''
2023-12-31 12:23:24 +00:00
secret: "${config.sops.placeholder."clash/secret"}"
2024-01-25 21:37:20 +00:00
proxies:
${config.sops.placeholder."clash/proxies/lon0"}
proxy-providers:
efcloud:
2023-12-31 12:23:24 +00:00
<<: *fetch
url: "${config.sops.placeholder."clash/proxy-providers/efcloud"}"
spcloud:
2023-12-31 12:23:24 +00:00
<<: *fetch
url: "${config.sops.placeholder."clash/proxy-providers/spcloud"}"
2023-12-31 12:23:24 +00:00
# Free servers that I dont really care about
pawdroid:
<<: *fetch
url: "${convert "https://cdn.jsdelivr.net/gh/Pawdroid/Free-servers@main/sub"}"
ermaozi:
<<: *fetch
url: "${convert "https://cdn.jsdelivr.net/gh/ermaozi/get_subscribe@main/subscribe/v2ray.txt"}"
#jsnzkpg:
# <<: *fetch
# url: "${convert "https://cdn.jsdelivr.net/gh/Jsnzkpg/Jsnzkpg@Jsnzkpg/Jsnzkpg"}"
'';
}