{
  config,
  lib,
  ...
}:
let
  hostname = config.networking.hostName;
  mkFor = hosts: lib.mkIf (builtins.elem hostname hosts);
in
{
  services.prometheus.exporters = {
    node =
      mkFor
        [
          "sisko"
          "picard"
          "kirk"
        ]
        {
          enable = true;
          enabledCollectors = [
            "cpu"
            "conntrack"
            "diskstats"
            "entropy"
            "filefd"
            "filesystem"
            "loadavg"
            "mdadm"
            "meminfo"
            "netdev"
            "netstat"
            "stat"
            "time"
            "vmstat"
            "systemd"
            "logind"
            "interrupts"
            "ksmd"
            "textfile"
            "pressure"
          ];
          extraFlags = [
            "--collector.ethtool"
            "--collector.softirqs"
            "--collector.tcpstat"
            "--collector.wifi"
          ];
        };
    wireguard =
      mkFor
        [
          "sisko"
          "picard"
          "kirk"
        ]
        {
          enable = true;
        };
    zfs =
      mkFor
        [
          "picard"
          "kirk"
        ]
        {
          enable = true;
        };
    # restic = mkFor ["sisko"] {
    #   enable = true;
    # };
    postgres = mkFor [ "sisko" ] {
      enable = true;
    };
    nginx = mkFor [ "sisko" ] {
      enable = true;
    };
    smartctl =
      mkFor
        [
          "sisko"
          "picard"
          "kirk"
        ]
        {
          enable = true;
        };
  };
}
