modemmanager: fix missing mmcli binary in service definition

This commit is contained in:
Colin 2024-06-01 15:41:02 +00:00
parent 8340cf059f
commit 6fe3d26b30
2 changed files with 11 additions and 3 deletions

View File

@ -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
};
}

View File

@ -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=<AT_CMD>`
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";