{ lib, pkgs, config, ... }: { services.paperless = { enable = true; consumptionDirIsPublic = true; address = "10.8.1.7"; user = "paperless"; domain = "paperless.annika.mainberger.name"; database.createLocally = true; mediaDir = "/mnt/paperless_dir/media/"; settings = { PAPERLESS_CONSUMER_IGNORE_PATTERN = [ ".DS_STORE/*" "desktop.ini" ]; PAPERLESS_OCR_LANGUAGE = "deu+eng"; PAPERLESS_TIME_ZONE = "Europe/Berlin"; PAPERLESS_CONSUMER_ENABLE_BARCODES = true; PAPERLESS_CONSUMER_ENABLE_ASN_BARCODE = true; PAPERLESS_CONSUMER_BARCODE_SCANNER = "ZXING"; PAPERLESS_CONSUMER_POLLING = 10; PAPERLESS_OCR_USER_ARGS = { optimize = 1; pdfa_image_compression = "lossless"; }; PAPERLESS_URL = "https://paperless.annika.mainberger.name"; PAPERLESS_CONSUMPTION_DIR = "/mnt/paperless_dir/paperless_consume/"; }; }; # Paperless-ngx also requires a redis cache services.redis.servers."paperless-redis".enable = true; # open the default paperless web port networking.firewall.allowedTCPPorts = [ config.services.paperless.port ]; }