From 91d4a15a6b5a6058a2a77f5193f0afde2d373db3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Tue, 23 Dec 2025 22:48:35 +0100 Subject: [PATCH 1/2] nixos/opentabletdriver: fix "Daemon is already running" This issue was observed after GNOME 48 -> 49 update. User creation for gdm was changed, now it starts systemd user services. This causes issues for OTD and potentially other services, as gdm-greeter user starts an OTD process creating a named pipe in /tmp that acts as a lock file. When a user logs in, they also start a process which exits with "Daemon is already running" and the gdm-greeter started process exits. Applying upstream patches that improve cleaning up the "lock file" doesn't fix this issue, probably because there's not enough time between stopping the first and starting the second process. Fixes https://github.com/NixOS/nixpkgs/issues/469340. --- nixos/modules/hardware/opentabletdriver.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/hardware/opentabletdriver.nix b/nixos/modules/hardware/opentabletdriver.nix index 592c2575e9a4..01d15244992f 100644 --- a/nixos/modules/hardware/opentabletdriver.nix +++ b/nixos/modules/hardware/opentabletdriver.nix @@ -60,6 +60,12 @@ in serviceConfig = { Type = "simple"; + # workaround for https://github.com/NixOS/nixpkgs/issues/469340 + ExecStartPre = pkgs.writeShellScript "disable-for-gdm-greeter" '' + if [[ "$USER" = "gdm-greeter"* ]]; then + exit 1 + fi + ''; ExecStart = lib.getExe' cfg.package "otd-daemon"; Restart = "on-failure"; }; From 6ce844a12086e41cfd02399534914cca61ff1ad9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gutyina=20Gerg=C5=91?= Date: Tue, 23 Dec 2025 23:02:46 +0100 Subject: [PATCH 2/2] nixos/opentabletdriver: add maintainer gepbird --- nixos/modules/hardware/opentabletdriver.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nixos/modules/hardware/opentabletdriver.nix b/nixos/modules/hardware/opentabletdriver.nix index 01d15244992f..aac29cac7f2f 100644 --- a/nixos/modules/hardware/opentabletdriver.nix +++ b/nixos/modules/hardware/opentabletdriver.nix @@ -8,7 +8,10 @@ let cfg = config.hardware.opentabletdriver; in { - meta.maintainers = with lib.maintainers; [ thiagokokada ]; + meta.maintainers = with lib.maintainers; [ + gepbird + thiagokokada + ]; options = { hardware.opentabletdriver = {