paperless.nix (1057B)
1 { 2 config, 3 pkgs, 4 lib, 5 ... 6 }: 7 8 let 9 cfg = config.services.local.paperless; 10 in 11 { 12 options.services.local.paperless = { 13 enable = lib.mkEnableOption "Paperless-ngx document management"; 14 15 dateOrder = lib.mkOption { 16 type = lib.types.str; 17 default = "YMD"; 18 description = "Date parsing order"; 19 }; 20 21 ocrLanguages = lib.mkOption { 22 type = lib.types.str; 23 default = "deu+eng"; 24 description = "OCR languages (tesseract format)"; 25 }; 26 27 invalidateDigitalSignatures = lib.mkOption { 28 type = lib.types.bool; 29 default = true; 30 description = "Whether to invalidate digital signatures during OCR"; 31 }; 32 }; 33 34 config = lib.mkIf cfg.enable { 35 services.paperless = { 36 enable = true; 37 settings = { 38 PAPERLESS_DBHOST = "/run/postgresql"; 39 PAPERLESS_DATE_ORDER = cfg.dateOrder; 40 PAPERLESS_OCR_LANGUAGE = cfg.ocrLanguages; 41 PAPERLESS_OCR_USER_ARGS = { 42 invalidate_digital_signatures = cfg.invalidateDigitalSignatures; 43 }; 44 }; 45 }; 46 }; 47 }