{ ... }: { services.radicale = { enable = true; settings = { server.hosts = [ "0.0.0.0:5232" ]; auth = { type = "htpasswd"; htpasswd_filename = "/etc/radicale/htpasswd"; htpasswd_encryption = "bcrypt"; }; }; }; services.nginx = { enable = true; recommendedProxySettings = true; recommendedTlsSettings = true; virtualHosts = { "plan.liv.town" = { forceSSL = true; sslCertificate = "/var/lib/acme/liv.town/cert.pem"; sslCertificateKey = "/var/lib/acme/liv.town/key.pem"; # locations."/radicale/" = { locations."/" = { proxyPass = "http://127.0.0.1:5232/"; proxyWebsockets = true; extraConfig = '' proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; send_timeout 300; ''; }; }; }; }; }