{ config, lib, ... }: { options.services.paperless = { extraDomains = lib.mkOption { type = lib.types.listOf lib.types.str; description = "extra domains that should be configured for paperless"; default = []; }; }; config = lib.mkIf (config.services.paperless.enable && config.services.reverseProxy.enable) { services.reverseProxy.services.paperless = { target = "http://${config.services.paperless.address}:${toString config.services.paperless.port}"; domain = config.services.paperless.domain; extraDomains = config.services.paperless.extraDomains; settings = { proxyWebsockets.enable = true; forwardHeaders.enable = true; maxBodySize = 50000; }; }; }; }