{ lib, namespace, ... }: let inherit (lib.mjallen) mkOpt mkBoolOpt; in with lib; { options.${namespace}.services.actual = { enable = mkEnableOption "actual service"; port = mkOpt types.int 80 "Port for Actual to be hosted on"; localAddress = mkOpt types.str "127.0.0.1" "local address of the service"; dataDir = mkOpt types.str "" "Path to the data dir"; reverseProxy = { enable = mkBoolOpt false "Enable reverse proxy support"; host = mkOpt types.str "" "Address of the proxy"; middlewares = with types; mkOpt (listOf str) [ ] "List of middlewares to use"; }; }; }