diff options
author | Christian Kögler <ck3d@gmx.de> | 2018-12-08 14:35:07 +0100 |
---|---|---|
committer | Christian Kögler <ck3d@gmx.de> | 2018-12-08 14:37:02 +0100 |
commit | 4bb55815be4096b1e07fed71cd62636a37a7f07b (patch) | |
tree | 5ed3c99a1ef6ea25afaa906182c73bf959dcf89c /nixos/modules/services/hardware/lirc.nix | |
parent | ca3f089a836ce970f8037485c2b65034de14269f (diff) |
nixos lirc: fix owner-ship of runtime directory
Diffstat (limited to 'nixos/modules/services/hardware/lirc.nix')
-rw-r--r-- | nixos/modules/services/hardware/lirc.nix | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/nixos/modules/services/hardware/lirc.nix b/nixos/modules/services/hardware/lirc.nix index 5635d6f09715b..0072406a438cb 100644 --- a/nixos/modules/services/hardware/lirc.nix +++ b/nixos/modules/services/hardware/lirc.nix @@ -49,6 +49,7 @@ in { description = "LIRC daemon socket"; wantedBy = [ "sockets.target" ]; socketConfig = { + # default search path ListenStream = "/run/lirc/lircd"; SocketUser = "lirc"; SocketMode = "0660"; @@ -66,9 +67,19 @@ in { serviceConfig = { RuntimeDirectory = "lirc"; - # socket lives in runtime directory; we have to keep is available + # Service runtime directory and socket share same folder. + # Following hacks are necessary to get everything right: + + # 1. prevent socket deletion during stop and restart RuntimeDirectoryPreserve = true; + # 2. fix runtime folder owner-ship, happens when socket activation + # creates the folder + PermissionsStartOnly = true; + ExecStartPre = [ + "${pkgs.coreutils}/bin/chown lirc /run/lirc/" + ]; + ExecStart = '' ${pkgs.lirc}/bin/lircd --nodaemon \ ${escapeShellArgs cfg.extraArguments} \ |