···
description = "Extra command line arguments to be passed to the PCSC daemon.";
70
+
ignoreReaderNames = lib.mkOption {
71
+
type = lib.types.listOf (lib.types.strMatching "[^:]+");
74
+
List of reader name patterns for the PCSC daemon to ignore.
76
+
For more precise control, readers can be ignored through udev rules
77
+
(cf. {option}`services.udev.extraRules`) by setting the
78
+
`PCSCLITE_IGNORE` property, for example:
81
+
ACTION!="remove|unbind", SUBSYSTEM=="usb", ATTR{idVendor}=="20a0", ENV{PCSCLITE_IGNORE}="1"
90
+
extendReaderNames = lib.mkOption {
91
+
type = lib.types.nullOr lib.types.str;
94
+
String to append to every reader name. The special variable `$HOSTNAME`
95
+
will be expanded to the current host name.
97
+
example = " $HOSTNAME";
config = lib.mkIf config.services.pcscd.enable {
···
systemd.sockets.pcscd.wantedBy = [ "sockets.target" ];
systemd.services.pcscd = {
82
-
environment.PCSCLITE_HP_DROPDIR = pluginEnv;
113
+
PCSCLITE_HP_DROPDIR = pluginEnv;
115
+
PCSCLITE_FILTER_IGNORE_READER_NAMES = lib.mkIf (cfg.ignoreReaderNames) (
116
+
lib.concatStringsSep ":" cfg.ignoreReaderNames
119
+
PCSCLITE_FILTER_EXTEND_READER_NAMES = lib.mkIf (
120
+
cfg.extendReaderNames != null
121
+
) cfg.extendReaderNames;
# If the cfgFile is empty and not specified (in which case the default
# /etc/reader.conf is assumed), pcscd will happily start going through the