{ config, lib, pkgs, ... }: { options = { myService.nextcloud.enable = lib.mkEnableOption "enable nextcloud Service"; }; config = lib.mkIf config.myService.nextcloud.enable { sops.secrets = { nextcloud_admin_password = { }; }; services.nextcloud = { enable = true; datadir = "/srv/nextcloud"; hostName = "storage.tobinio.dev"; package = pkgs.nextcloud35; extraApps = { inherit (config.services.nextcloud.package.packages.apps) calendar; }; extraAppsEnable = true; config = { dbtype = "pgsql"; adminuser = "admin"; adminpassFile = "/run/secrets/nextcloud_admin_password"; dbname = "nextcloud"; dbuser = "nextcloud"; dbhost = "/run/postgresql"; }; settings = { trusted_domains = [ "storage.tobinio.dev" ]; trusted_proxies = [ "127.0.0.1" ]; overwriteprotocol = "https"; overwritehost = "storage.tobinio.dev"; }; }; systemd.services.nextcloud-setup = { after = [ "postgresql.service" ]; wants = [ "postgresql.service" ]; }; }; }