inputs: { config, ... }: { services.prometheus = { enable = true; listenAddress = "127.0.0.1"; retentionTime = "15w"; scrapeConfigs = [ { job_name = "prometheus"; static_configs = [ { targets = [ "localhost:${toString config.services.prometheus.port}" ]; } ]; } { job_name = "grafana"; static_configs = [ { targets = [ "localhost:${toString config.services.grafana.port}" ]; } ]; } ]; }; services.grafana = { enable = true; addr = config.topology.mainVpn.currentNodeIP; port = 3001; analytics.reporting.enable = false; }; services.grafana-image-renderer = { enable = true; provisionGrafana = true; settings.service.port = 2173; }; networking.firewall.interfaces.${config.topology.mainVpn.interfaceName}.allowedTCPPorts = [ config.services.grafana.port ]; }