{ pkgs, lib, config, ... }:
let
  cfg = config.mods.server.ntfy;
  port = config.mods.server.nginx.ports.ntfy;
in with lib; {
  options.mods.server = {
    ntfy = {
      enable = mkEnableOption {
        default = false;
        description = "enables ntfy-sh server";
      };
    };
  };

  config = mkIf cfg.enable {
    services.ntfy-sh = {
      enable = true;
      settings = {
        listen-http = "0.0.0.0:${toString port}";
        base-url = "https://ntfy.muon.host";
        behind-proxy = true;

        auth-default-access = "deny-all";
        enable-login = true;
      };
    };
  };
}
