{ lib, config, ... }: with lib; let cfg = config.luj.paperless; port = 28981; in { options.luj.paperless = { enable = mkEnableOption "activate paperless service"; user = mkOption { type = types.str; default = "paperless"; description = "User account under which Paperless runs."; }; nginx.enable = mkEnableOption "activate nginx"; nginx.subdomain = mkOption { type = types.str; }; }; config = mkIf cfg.enable ( mkMerge [{ services.paperless = { enable = true; inherit (cfg) user; mediaDir = "/home/julien/papers"; extraConfig = { PAPERLESS_OCR_LANGUAGE = "fra+eng"; PAPERLESS_OCR_MODE = "redo"; PAPERLESS_TIME_ZONE = "Europe/Paris"; }; }; } (mkIf cfg.nginx.enable (mkVPNSubdomain cfg.nginx.subdomain port))]); }