infrastructure

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

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 }