{ config, lib, namespace, ... }: let inherit (lib.${namespace}) enabled disabled; in { ${namespace} = { services = { actual = { enable = true; port = 3333; createUser = true; reverseProxy = enabled; }; ai = enabled; arrs = { enable = true; enableVpn = true; }; attic = { enable = true; port = 9012; listenAddress = "[::]"; environmentFile = "/run/secrets/jallen-nas/attic-key"; }; authentik = { enable = true; configureDb = true; port = 9000; reverseProxy = enabled; environmentFile = "/run/secrets/jallen-nas/authentik-env"; redis = { enable = true; port = 6379; }; }; authentikRac = { enable = true; port = 4822; # environmentFile = "/run/secrets/jallen-nas/authentik-env"; # TODO }; booklore = { enable = true; port = 6060; }; caddy = disabled; calibre = { enable = false; port = 8084; }; calibre-web = { enable = false; port = 8083; }; code-server = { enable = true; port = 4444; extraEnvironment = { PROXY_DOMAIN = "code.mjallen.dev"; }; }; coturn = { enable = true; port = 3478; reverseProxy = enabled; }; collabora = { enable = false; port = 9980; }; crowdsec = { enable = true; port = 8181; apiKey = config.sops.secrets."jallen-nas/crowdsec-capi".path; }; dispatcharr = { enable = false; port = 9191; }; ersatztv = { enable = true; port = 8409; }; free-games-claimer = { enable = false; port = 6080; }; gitea = { enable = true; port = 3000; reverseProxy = enabled; }; glance = { enable = true; port = 5555; }; glances = { enable = true; port = 61208; createUser = true; }; headscale = { enable = false; port = 2112; reverseProxy.enable = true; }; immich = { enable = true; port = 2283; reverseProxy = enabled; }; jellyfin = { enable = true; port = 8096; reverseProxy = enabled; }; jellyseerr = { enable = true; port = 5055; createUser = true; reverseProxy = enabled; }; lubelogger = { enable = true; port = 6754; reverseProxy = enabled; }; manyfold = { enable = true; port = 3214; }; matrix = { enable = true; port = 8448; reverseProxy = enabled; }; minecraft = disabled; mongodb = disabled; netbootxyz = { enable = false; port = 4000; }; nextcloud = { enable = false; port = 9988; }; ntfy = { enable = true; port = 2586; createUser = true; reverseProxy = enabled; }; ocis = disabled; onlyoffice = { enable = false; port = 9200; }; opencloud = { enable = false; port = 9200; reverseProxy.enable = false; }; orca-slicer = { enable = false; port = 3100; httpsPort = 3101; }; paperless = { enable = true; port = 28981; }; paperless-ai = { enable = true; port = 28982; }; protonmail-bridge = { enable = true; smtpPort = 1025; imapPort = 1143; }; restic = { enable = true; port = 8008; }; sunshine = { enable = true; port = 47989; }; tdarr = { enable = false; port = 8265; serverPort = 8266; }; traefik = enabled; unmanic = { enable = true; port = 8265; }; uptime-kuma = { enable = true; port = 3001; }; wyoming = enabled; }; }; }