diff options
-rw-r--r-- | nixos/machine/adm-omnia.nix | 1 | ||||
-rw-r--r-- | nixos/machine/spt-omnia.nix | 1 | ||||
-rw-r--r-- | nixos/modules/monitoring.nix | 13 |
3 files changed, 15 insertions, 0 deletions
diff --git a/nixos/machine/adm-omnia.nix b/nixos/machine/adm-omnia.nix index 5fe2127..437831b 100644 --- a/nixos/machine/adm-omnia.nix +++ b/nixos/machine/adm-omnia.nix @@ -18,6 +18,7 @@ with lib; { qca988x.interface = "wlp2s0"; }; openvpn.oldpersonal = false; + monitoring.speedtest = true; }; services.pppd = { diff --git a/nixos/machine/spt-omnia.nix b/nixos/machine/spt-omnia.nix index e5d8873..bf72a6e 100644 --- a/nixos/machine/spt-omnia.nix +++ b/nixos/machine/spt-omnia.nix @@ -18,6 +18,7 @@ with lib; { qca988x.interface = "wlp2s0"; }; openvpn.oldpersonal = true; + monitoring.speedtest = true; }; networking.vlans."end2.848" = { diff --git a/nixos/modules/monitoring.nix b/nixos/modules/monitoring.nix index 2660461..e08ae14 100644 --- a/nixos/modules/monitoring.nix +++ b/nixos/modules/monitoring.nix @@ -20,6 +20,11 @@ in { default = true; description = "If hardware should be reported"; }; + speedtest = mkOption { + type = types.bool; + default = false; + description = "If speedtest should be used to measure connection speed"; + }; host = mkOption { type = types.str; @@ -87,6 +92,14 @@ in { } ]; wireless = [{}]; + }) // (optionaAttrs cnf.speedtest { + exec = [{ + commands = ["${pkgs.speedtest-cli}/bin/speedtest --json"]; + name_override = "speedtest"; + timeout = "5m"; + interval = "15m"; + data_format = "json"; + }]; }); }; }; |