{ config, ... }: { services.nextcloud = { enable = true; homeDir = "/media/nas/ssd/nix-app-data/nextcloud"; # ??? dataDir = "/media/nas/main/nextcloud"; # ??? caching.redis = true; configureRedis = true; appstore.enable = true; config = { adminuser = "mjallen"; adminpassFile = config.sops.secrets."jallen-nas/nextcloud/adminpassword".path; dbhost = "10.0.1.18:3306"; dbtype = "mysql"; dbname = "jallen_nextcloud"; dbuser = "nextcloud"; dbpassFile = config.sops.secrets."jallen-nas/nextcloud/dbpassword".path; }; settings = { trusted_domains = [ "10.0.1.18:9943" "cloud.mjallen.dev" ]; trusted_proxies = [ "10.0.1.18" ]; maintenance_window_start = 6; default_phone_region = "US"; mail_from_address = "matt.l.jallen"; mail_smtpmode = "smtp"; mail_sendmailmode = "smtp"; mail_domain = "gmail.com"; mail_smtpauth = 1; mail_smtpname = "matt.l.jallen"; mail_smtppassword = builtins.readFile config.sops.secrets."jallen-nas/nextcloud/dbpassword".path;# ??? mail_smtpsecure = "ssl"; mail_smtphost = "smtp.gmail.com"; mail_smtpport = 465; enable_previews = true; enabledPreviewProviders = [ "OC\\Preview\\PNG" "OC\\Preview\\JPEG" "OC\\Preview\\GIF" "OC\\Preview\\BMP" "OC\\Preview\\XBitmap" "OC\\Preview\\MP3" "OC\\Preview\\TXT" "OC\\Preview\\MarkDown" "OC\\Preview\\OpenDocument" "OC\\Preview\\Krita" "OC\\Preview\\HEIC" ]; }; }; }