selfprivacy-nixos-config/sp-modules/jitsi-meet/module.nix

35 lines
831 B
Nix
Raw Normal View History

2023-12-04 13:43:06 +02:00
{ config, lib, ... }:
let
domain = config.selfprivacy.domain;
2024-02-15 11:56:12 +02:00
cfg = config.selfprivacy.modules.jitsi-meet;
in
2023-12-04 13:43:06 +02:00
{
options.selfprivacy.modules.jitsi-meet = {
enable = lib.mkOption {
default = false;
2023-12-28 10:54:59 +02:00
type = lib.types.bool;
2023-12-04 13:43:06 +02:00
};
2024-02-15 11:56:12 +02:00
subdomain = lib.mkOption {
default = "meet";
type = lib.types.strMatching "[A-Za-z0-9][A-Za-z0-9\-]{0,61}[A-Za-z0-9]";
};
2023-12-04 13:43:06 +02:00
};
2024-02-15 11:56:12 +02:00
config = lib.mkIf cfg.enable {
2023-12-04 13:43:06 +02:00
services.jitsi-meet = {
enable = true;
2024-02-15 11:56:12 +02:00
hostName = "${cfg.subdomain}.${domain}";
2023-12-04 13:43:06 +02:00
nginx.enable = true;
interfaceConfig = {
SHOW_JITSI_WATERMARK = false;
SHOW_WATERMARK_FOR_GUESTS = false;
};
};
2024-02-15 11:56:12 +02:00
services.nginx.virtualHosts."${cfg.subdomain}.${domain}" = {
forceSSL = true;
useACMEHost = domain;
enableACME = false;
};
2023-12-04 13:43:06 +02:00
};
}