From 6fe3d26b30d2eaf2c8ec5397f2e6c6e01976f2f5 Mon Sep 17 00:00:00 2001 From: Colin Date: Sat, 1 Jun 2024 15:41:02 +0000 Subject: [PATCH] modemmanager: fix missing `mmcli` binary in service definition --- hosts/common/programs/mmcli.nix | 6 +++++- hosts/common/programs/modemmanager.nix | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/hosts/common/programs/mmcli.nix b/hosts/common/programs/mmcli.nix index ae19a5dd..613ad55b 100644 --- a/hosts/common/programs/mmcli.nix +++ b/hosts/common/programs/mmcli.nix @@ -1,7 +1,11 @@ { pkgs, ... }: { sane.programs.mmcli = { - packageUnwrapped = pkgs.modemmanager-split.mmcli; + packageUnwrapped = pkgs.modemmanager-split.mmcli.overrideAttrs (upstream: { + meta = upstream.meta // { + mainProgram = "mmcli"; + }; + }); # TODO: sandbox }; } diff --git a/hosts/common/programs/modemmanager.nix b/hosts/common/programs/modemmanager.nix index 791cafb1..3b0e66de 100644 --- a/hosts/common/programs/modemmanager.nix +++ b/hosts/common/programs/modemmanager.nix @@ -9,6 +9,10 @@ in sed 's/"root"/"networkmanager"/g' $out/share/dbus-1/system.d/org.freedesktop.ModemManager1.conf \ > $out/share/dbus-1/system.d/networkmanager-org.freedesktop.ModemManager1.conf ''; + + meta = upstream.meta // { + mainProgram = "ModemManager"; + }; }); # mmcli needs /run/current-system/sw/share/dbus-1 files to function enableFor.system = lib.mkIf (builtins.any (en: en) (builtins.attrValues cfg.enableFor.user)) true; @@ -57,9 +61,9 @@ in # only if started with `--debug` does mmcli let us issue AT commands like # `mmcli --modem any --command=` - serviceConfig.ExecStart = "${cfg.package}/bin/ModemManager --debug"; + serviceConfig.ExecStart = "${lib.getExe cfg.package} --debug"; # --debug sets DEBUG level logging: so reset - serviceConfig.ExecStartPost = "${cfg.package}/bin/mmcli --set-logging=INFO"; + serviceConfig.ExecStartPost = "${lib.getExe config.sane.programs.mmcli.package} --set-logging=INFO"; serviceConfig.Restart = "on-abort"; serviceConfig.StandardError = "null";