about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Kögler <ck3d@gmx.de>2018-12-26 22:10:04 +0100
committerChristian Kögler <ck3d@gmx.de>2018-12-26 22:59:06 +0100
commit987fdea1a8f8c0e1c0052646cfacf463e8a80e28 (patch)
tree8332fb50c1cdf84cee0ccbe11994a8ed1a3db123
parent4543559aead7172e6da78325bb1b760ddb729df2 (diff)
nixos vdr: introduce option enableLirc
also introduce option socket for lirc, to have access to socket path
-rw-r--r--nixos/modules/services/hardware/lirc.nix10
-rw-r--r--nixos/modules/services/hardware/vdr.nix14
2 files changed, 20 insertions, 4 deletions
diff --git a/nixos/modules/services/hardware/lirc.nix b/nixos/modules/services/hardware/lirc.nix
index 0072406a438cb..ece38bd1e1cd4 100644
--- a/nixos/modules/services/hardware/lirc.nix
+++ b/nixos/modules/services/hardware/lirc.nix
@@ -33,6 +33,13 @@ in {
         description = "Extra arguments to lircd.";
       };
 
+      socket = mkOption {
+        type = types.path;
+        # default search path of many applications
+        default = "/run/lirc/lircd";
+        description = "Socket path";
+      };
+
     };
   };
 
@@ -49,8 +56,7 @@ in {
       description = "LIRC daemon socket";
       wantedBy = [ "sockets.target" ];
       socketConfig = {
-        # default search path
-        ListenStream = "/run/lirc/lircd";
+        ListenStream = cfg.socket;
         SocketUser = "lirc";
         SocketMode = "0660";
       };
diff --git a/nixos/modules/services/hardware/vdr.nix b/nixos/modules/services/hardware/vdr.nix
index 75136a2f7964f..695f0cbab1fca 100644
--- a/nixos/modules/services/hardware/vdr.nix
+++ b/nixos/modules/services/hardware/vdr.nix
@@ -33,12 +33,14 @@ in {
         default = [];
         description = "Additional command line arguments to pass to VDR.";
       };
+
+      enableLirc = mkEnableOption "enable LIRC";
     };
   };
 
   ###### implementation
 
-  config = mkIf cfg.enable {
+  config = mkIf cfg.enable (mkMerge [{
     systemd.tmpfiles.rules = [
       "d ${cfg.videoDir} 0755 vdr vdr -"
       "Z ${cfg.videoDir} - vdr vdr -"
@@ -67,5 +69,13 @@ in {
     };
 
     users.groups.vdr = {};
-  };
+  }
+
+  (mkIf cfg.enableLirc {
+    services.lirc.enable = true;
+    users.users.vdr.extraGroups = [ "lirc" ];
+    services.vdr.extraArguments = [
+      "--lirc=${config.services.lirc.socket}"
+    ];
+  })]);
 }