{ pkgs, ... }: let host = "cloud.514fpv.io"; in { services.nextcloud = { enable = true; package = pkgs.nextcloud31; extraApps = { inherit (pkgs.nextcloud31Packages.apps) notify_push impersonate spreed contacts bookmarks deck polls notes forms twofactor_webauthn ; }; home = "/nix/persist/service/nextcloud"; configureRedis = true; webfinger = true; maxUploadSize = "128G"; hostName = host; phpExtraExtensions = all: with all; [ bz2 ]; database.createLocally = true; config.dbtype = "pgsql"; config.adminuser = "koishi"; config.adminpassFile = builtins.toString (pkgs.writeText "password" "initial_password"); settings.overwriteprotocol = "https"; settings.default_phone_region = "US"; settings.maintenance_window_start = 17; caching.redis = true; phpOptions.upload_max_filesize = "128G"; phpOptions.post_max_size = "128G"; phpOptions.output_buffering = "0"; phpOptions."opcache.interned_strings_buffer" = "32"; https = true; }; users.users.nextcloud.uid = 1022; users.groups.nextcloud.gid = 1022; services.nginx.virtualHosts.${host} = { useACMEHost = ".514fpv.io"; addSSL = true; }; global.fs.zfs.mountpoints."/nix/persist/service/nextcloud" = "service/nextcloud"; }