{ pkgs, config, ... }: { services = { nextcloud = { enable = true; package = pkgs.nextcloud29; hostName = "cloud.${config.domains.jim1}"; datadir = "/mnt/nextcloud"; https = true; config = { adminuser = "jimbo"; adminpassFile = "/mnt/nextcloud/password.txt"; }; settings = { trusted_proxies = [ "127.0.0.1" ]; trusted_domains = [ "cloud.${config.domains.jim1}" ]; overwriteprotocol = "https"; mail_smtphost = "mx.${config.domains.jim1}"; mail_domain = "${config.domains.jim1}"; mail_from_address = "noreply"; mail_smtpauth = "true"; mail_smtpname = "noreply@${config.domains.jim1}"; mail_smtppassword = config.secrets.noreplyPassword; mail_smtpmode = "smtp"; mail_smtpport = 587; }; }; nginx.virtualHosts."cloud.${config.domains.jim1}" = { enableACME = true; addSSL = true; locations."/" = { proxyWebsockets = true; extraConfig = " location /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } "; }; }; }; }