pumpkin: syncoid: exclude games
[julm/julm-nix.git] / hosts / aubergine / networking / lte.nix
index b1553833b66f86735fcf863fc6b003b2a6cb1f02..de02e4c47358db497c37f438675eef5195f67949 100644 (file)
@@ -1,10 +1,15 @@
-{ pkgs, lib, config, ... }:
+{
+  pkgs,
+  lib,
+  config,
+  ...
+}:
 with (import ./names-and-numbers.nix);
 let
   inherit (config.users) users;
   modemmanager = pkgs.modemmanager-1-18;
-  #modemmanager = pkgs.modemmanager-1-20-4;
 in
+#modemmanager = pkgs.modemmanager-1-20-4;
 {
   networking.nftables.ruleset = ''
     table inet filter {
@@ -39,12 +44,11 @@ in
   '';
   services.mmsd.enable = true;
   services.mmsd.extraArgs = [ "--debug" ];
-  systemd.services.ModemManager.serviceConfig.ExecStart =
-    lib.mkForce [
-      ""
-      # See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/780
-      "${modemmanager}/bin/ModemManager --debug"
-    ];
+  systemd.services.ModemManager.serviceConfig.ExecStart = lib.mkForce [
+    ""
+    # See https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/780
+    "${modemmanager}/bin/ModemManager --debug"
+  ];
   systemd.services.NetworkManager.wants = [ "ModemManager.service" ];
   services.dbus.packages = [ pkgs.dconf ];
   programs.dconf.enable = true;
@@ -80,21 +84,40 @@ in
     '';
   };
   systemd.services.watch-lte = {
-    after = [ "ModemManager.service" "NetworkManager.service" "NetworkManager-wait-online.service" ];
-    requires = [ "ModemManager.service" "NetworkManager.service" "NetworkManager-wait-online.service" ];
+    after = [
+      "ModemManager.service"
+      "NetworkManager.service"
+      "NetworkManager-wait-online.service"
+    ];
+    requires = [
+      "ModemManager.service"
+      "NetworkManager.service"
+      "NetworkManager-wait-online.service"
+    ];
     wantedBy = [ "network-online.target" ];
     #startAt = "*:0/5"; # every 5 min
-    path = with pkgs; [ inetutils modemmanager networkmanager jq ];
-    unitConfig = { StartLimitIntervalSec = 0; };
+    path = with pkgs; [
+      inetutils
+      jq
+      modemmanager
+      networkmanager
+    ];
+    unitConfig = {
+      StartLimitIntervalSec = 0;
+    };
     serviceConfig = {
       Type = "simple";
       IPAddressAllow = [ "9.9.9.9" ];
-      RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+      RestrictAddressFamilies = [
+        "AF_INET"
+        "AF_INET6"
+        "AF_UNIX"
+      ];
       ExecStart = pkgs.writeShellScript "watch-lte" ''
         set -eux
         lastPONG=$(date +%s)
         while sleep 5; do
-          if ping 9.9.9.9 --count 1 --linger 20 --interval 1 --quiet --numeric
+          if ping 9.9.9.9 --count 10 --linger 20 --interval 1 --quiet --numeric
           then lastPONG=$(date +%s)
           fi
           if test $(( $(date +%s) - lastPONG )) -gt 300