{ config , pkgs , lib , ... }: with lib; let cfg = config.dadada.weechat; in { options.dadada.weechat = { enable = mkEnableOption "Enable weechat relay"; }; config = mkIf cfg.enable { services.weechat = { enable = true; sessionName = "weechat-dadada"; }; services.nginx.enable = true; services.nginx.virtualHosts."webchat.dadada.li" = { enableACME = true; forceSSL = true; root = pkgs.glowing-bear; locations = { "/robots.txt" = { extraConfig = '' add_header Content-Type text/plain; return 200 "User-agent: *\nDisallow: /\n"; ''; }; }; }; services.nginx.virtualHosts."weechat.dadada.li" = { useACMEHost = "webchat.dadada.li"; forceSSL = true; root = "${pkgs.nginx}/html"; locations = { "/weechat" = { extraConfig = '' proxy_pass http://localhost:9001; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 8h; ''; }; "/robots.txt" = { extraConfig = '' add_header Content-Type text/plain; return 200 "User-agent: *\nDisallow: /\n"; ''; }; }; }; }; }