{ config, lib, this, ... }: with lib; let cfg = config.nixfiles.modules.node-exporter; in { options.nixfiles.modules.node-exporter.enable = mkEnableOption "Prometheus Node Exporter"; config = mkIf cfg.enable { services.prometheus.exporters.node = { enable = true; listenAddress = mkDefault this.wireguard.ipv4.address; port = 9100; enabledCollectors = [ "buddyinfo" "cgroups" "ethtool" "interrupts" "ksmd" "lnstat" "logind" "mountstats" "network_route" "processes" "qdisc" "systemd" "zoneinfo" ]; }; }; }