{ config, lib, namespace, ... }: let name = "kavita"; cfg = config.${namespace}.services.${name}; kavitaConfig = lib.${namespace}.mkModule { inherit config name; description = "kavita"; options = { }; moduleConfig = { sops = { secrets = { "jallen-nas/kavita/token" = { sopsFile = lib.snowfall.fs.get-file "secrets/nas-secrets.yaml"; owner = config.users.users.kavita.name; inherit (config.users.users.kavita) group; restartUnits = [ "kavita.service" ]; }; }; }; services.kavita = { enable = true; dataDir = "${cfg.configDir}/kavita"; tokenKeyFile = config.sops.secrets."jallen-nas/kavita/token".path; settings = { inherit (cfg) port; }; }; }; }; in { imports = [ kavitaConfig ]; }