-{ pkgs, config, ... }:
+{ pkgs, lib, config, ... }:
with (import ./names-and-numbers.nix);
let
inherit (config.users) users;
'';
services.mmsd.enable = true;
services.mmsd.extraArgs = [ "--debug" ];
+ systemd.services.ModemManager.serviceConfig.ExecStart =
+ lib.mkForce [
+ ""
+ "${pkgs.modemmanager-1-18}/bin/ModemManager --debug"
+ #"${pkgs.modemmanager-1-20-4}/bin/ModemManager --debug"
+ ];
systemd.services.NetworkManager.wants = [ "ModemManager.service" ];
services.dbus.packages = [ pkgs.dconf ];
programs.dconf.enable = true;
uuid=b223f550-dff1-4ba3-9755-cd4557faaa5a
type=gsm
autoconnect=true
- permissions=user:${users.julm.name}:;
+ autoconnect-retries=0
[gsm]
apn=sl2sfr
[proxy]
'';
};
+ systemd.services.watch-lte = {
+ after = [ "NetworkManager-wait-online.service" ];
+ requires = [ "NetworkManager-wait-online.service" ];
+ wantedBy = [ "network-online.target" ];
+ #startAt = "*:0/5"; # every 5 min
+ path = with pkgs; [ inetutils networkmanager ];
+ unitConfig = { StartLimitIntervalSec = 0; };
+ serviceConfig = {
+ Type = "simple";
+ IPAddressAllow = [ "9.9.9.9" ];
+ RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
+ ExecStart = pkgs.writeShellScript "watch-lte" ''
+ set -ux
+ while sleep 300; do
+ ping -c 1 9.9.9.9 ||
+ nmcli connection up Prixtel
+ done
+ '';
+ Restart = "on-failure";
+ RestartSec = "30s";
+ };
+ };
environment.systemPackages = [
pkgs.modem-manager-gui
pkgs.libmbim
pkgs.chatty
pkgs.gnome.gnome-contacts
pkgs.picocom
+ pkgs.tio
pkgs.calls
pkgs.dfeet
# https://gitlab.com/mobian1/callaudiod/-/issues/26