{ config, lib, pkgs, ... }: with lib; let cfg = config.modules.services.nitter; in { options.modules.services.nitter = { enable = mkEnableOption "nitter instance"; title = mkOption { type = types.str; default = "Nitter"; description = "Title of the nitter instance"; }; domain = mkOption { type = types.str; }; realHost = mkOption { type = types.str; default = "nitter.${cfg.domain}"; }; secrets = { nitter-guest-accounts = mkOption { type = types.path; description = "path to the JSONL file containing guest accounts"; }; }; }; config = mkIf cfg.enable { services.nitter = { enable = true; package = pkgs.nitter.overrideAttrs { patches = [ ./0001-HACK-allow-non-guest-account.patch ]; }; server = { title = cfg.title; address = "127.0.0.1"; port = 4002; hostname = cfg.realHost; }; guestAccounts = cfg.secrets.nitter-guest-accounts; }; }; }