main
 1{lib, ...}: {
 2  flake.modules.nixos."services/freshrss" = {config, ...}: {
 3    services.freshrss = {
 4      enable = true;
 5      baseUrl = "https://rss.hpcesia.com";
 6      webserver = "caddy";
 7      virtualHost = "rss.hpcesia.com";
 8      authType = "form";
 9      defaultUser = "admin";
10      passwordFile = config.vaultix.secrets.freshrss-admin-password.path;
11      language = "zh-cn";
12      database.type = "sqlite";
13    };
14
15    services.restic.backups."${config.networking.hostName}-backup".paths =
16      lib.mkIf
17      (builtins.hasAttr "${config.networking.hostName}-backup" config.services.restic.backups)
18      [config.services.freshrss.dataDir];
19
20    vaultix.secrets.freshrss-admin-password = {
21      file = ./admin-password.age;
22      owner = "root";
23      group = "freshrss";
24      mode = "0440";
25    };
26  };
27}