diff --git a/hosts/by-name/moby/default.nix b/hosts/by-name/moby/default.nix index 12ab3062..a4124997 100644 --- a/hosts/by-name/moby/default.nix +++ b/hosts/by-name/moby/default.nix @@ -37,6 +37,7 @@ ]; sane.gui.sxmo.enable = true; + sane.services.eg25-manager.enable = true; sane.programs.guiApps.suggestedPrograms = [ "handheldGuiApps" ]; # sane.programs.consoleUtils.enableFor.user.colin = false; # sane.programs.guiApps.enableFor.user.colin = false; diff --git a/modules/services/default.nix b/modules/services/default.nix index 23b85b75..31bd23d8 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -2,6 +2,7 @@ { imports = [ ./dyn-dns.nix + ./eg25-manager.nix ./kiwix-serve.nix ./mautrix-signal.nix ./nixserve.nix diff --git a/modules/services/eg25-manager.nix b/modules/services/eg25-manager.nix new file mode 100644 index 00000000..b7202d0d --- /dev/null +++ b/modules/services/eg25-manager.nix @@ -0,0 +1,19 @@ +# eg25-manager: +# - used by sxmo, in +# - requires modemmanager (ModemManager.service) +{ config, lib, pkgs, ... }: +let + cfg = config.sane.services.eg25-manager; +in +{ + options.sane.services.eg25-manager = { + enable = lib.mkEnableOption "Quectel EG25 modem manager service"; + }; + config = lib.mkIf cfg.enable { + # eg25-manager package ships udev rules *and* a systemd service. + # for that reason, i think it needs to be on the system path for the systemd service to be enabled. + systemd.packages = [ pkgs.eg25-manager ]; + services.udev.packages = [ pkgs.eg25-manager ]; + systemd.services.eg25-manager.wantedBy = [ "multi-user.target" ]; + }; +}