summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--nixos/modules/services/hardware/pcscd.nix31
1 files changed, 16 insertions, 15 deletions
diff --git a/nixos/modules/services/hardware/pcscd.nix b/nixos/modules/services/hardware/pcscd.nix
index 9f389efc06d4..6d429c94b28f 100644
--- a/nixos/modules/services/hardware/pcscd.nix
+++ b/nixos/modules/services/hardware/pcscd.nix
@@ -1,5 +1,9 @@
 { config, pkgs, ... }:
 
+let
+  cfgFile = pkgs.writeText "reader.conf" "";
+in
+
 with pkgs.lib;
 
 {
@@ -24,22 +28,19 @@ with pkgs.lib;
 
   config = mkIf config.services.pcscd.enable {
 
-    jobs.pcscd =
-      { description = "PCSC-Lite daemon";
-
-        startOn = "started udev";
-
-        daemonType = "fork";
-
-        # Add to the drivers directory the only drivers we have by now: ccid
-        preStart = ''
-            mkdir -p /var/lib/pcsc
-            rm -Rf /var/lib/pcsc/drivers
-            ln -s ${pkgs.ccid}/pcsc/drivers /var/lib/pcsc/
-        '';
-
-        exec = "${pkgs.pcsclite}/sbin/pcscd";
+    systemd.services.pcscd = {
+      description = "PCSC-Lite daemon";
+      wantedBy = [ "multi-user.target" ];
+      preStart = ''
+          mkdir -p /var/lib/pcsc
+          rm -Rf /var/lib/pcsc/drivers
+          ln -s ${pkgs.ccid}/pcsc/drivers /var/lib/pcsc/
+      '';
+      serviceConfig = {
+        Type = "forking";
+        ExecStart = "${pkgs.pcsclite}/sbin/pcscd -c ${cfgFile}";
       };
+    };
 
   };