From d3c788655224e069b60aa37533c128eaec0dd735 Mon Sep 17 00:00:00 2001 From: coon Date: Tue, 30 Sep 2025 19:09:48 +0000 Subject: [PATCH 1/4] configuration.nix: hacky execution of mqtt_client.py via systemd --- configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configuration.nix b/configuration.nix index f24f172..4827738 100644 --- a/configuration.nix +++ b/configuration.nix @@ -22,6 +22,11 @@ (python3.withPackages (p: with p; [paho-mqtt mido])) ]; + systemd.services.mixer-mqtt = { + serviceConfig = { + ExecStart = "${pkgs.python3.withPackages (p: with p; [ paho-mqtt mido ])}/bin/python3 -u /root/mixer-rpc/mqtt_client.py 172.23.42.20 172.23.42.25"; + }; + }; system.stateVersion = "25.05"; } From 7c2d8e806a95c0a14f5549ccb2e582adbf9e1cbf Mon Sep 17 00:00:00 2001 From: coon Date: Tue, 30 Sep 2025 19:17:54 +0000 Subject: [PATCH 2/4] configuration.nix: replace -c by PYTHONUNBUFFERED=1 env var --- configuration.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configuration.nix b/configuration.nix index 4827738..0a61ab6 100644 --- a/configuration.nix +++ b/configuration.nix @@ -24,7 +24,8 @@ systemd.services.mixer-mqtt = { serviceConfig = { - ExecStart = "${pkgs.python3.withPackages (p: with p; [ paho-mqtt mido ])}/bin/python3 -u /root/mixer-rpc/mqtt_client.py 172.23.42.20 172.23.42.25"; + ExecStart = "${pkgs.python3.withPackages (p: with p; [ paho-mqtt mido ])}/bin/python3 /root/mixer-rpc/mqtt_client.py 172.23.42.20 172.23.42.25"; + Environment = "PYTHONUNBUFFERED=1"; }; }; From 4bd5f738e7984168f9ee351e7cecb7d9f7d6fa74 Mon Sep 17 00:00:00 2001 From: coon Date: Tue, 30 Sep 2025 19:21:50 +0000 Subject: [PATCH 3/4] make mqtt_client.py executable --- mqtt_client.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 mqtt_client.py diff --git a/mqtt_client.py b/mqtt_client.py old mode 100644 new mode 100755 From d3b5bfd6cffcb95de2e3b16a2c40dc93181a0700 Mon Sep 17 00:00:00 2001 From: coon Date: Tue, 30 Sep 2025 19:22:20 +0000 Subject: [PATCH 4/4] configuration.nix: auto restart script on crash --- configuration.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configuration.nix b/configuration.nix index 0a61ab6..f209fd8 100644 --- a/configuration.nix +++ b/configuration.nix @@ -25,6 +25,8 @@ systemd.services.mixer-mqtt = { serviceConfig = { ExecStart = "${pkgs.python3.withPackages (p: with p; [ paho-mqtt mido ])}/bin/python3 /root/mixer-rpc/mqtt_client.py 172.23.42.20 172.23.42.25"; + Restart = "always"; + RestartSec = 5; Environment = "PYTHONUNBUFFERED=1"; }; };