nixos/vsmartcard-vcpd: init
This commit is contained in:
49
nixos/modules/services/development/vsmartcard-vpcd.nix
Normal file
49
nixos/modules/services/development/vsmartcard-vpcd.nix
Normal file
@@ -0,0 +1,49 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
|
||||
cfg = config.services.vsmartcard-vpcd;
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
options.services.vsmartcard-vpcd = {
|
||||
enable = lib.mkEnableOption "Virtual smart card driver.";
|
||||
|
||||
port = lib.mkOption {
|
||||
type = lib.types.port;
|
||||
default = 35963;
|
||||
description = ''
|
||||
Port number vpcd will be listening on.
|
||||
'';
|
||||
};
|
||||
|
||||
hostname = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "/dev/null";
|
||||
description = ''
|
||||
Hostname of a waiting vpicc server vpcd will be connecting to. Use /dev/null for listening mode.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.pcscd.readerConfigs = [
|
||||
''
|
||||
FRIENDLYNAME "Virtual PCD"
|
||||
DEVICENAME ${cfg.hostname}:0x${lib.toHexString cfg.port}
|
||||
LIBPATH ${pkgs.vsmartcard-vpcd}/var/lib/pcsc/drivers/serial/libifdvpcd.so
|
||||
CHANNELID 0x${lib.toHexString cfg.port}
|
||||
''
|
||||
];
|
||||
|
||||
environment.systemPackages = [ pkgs.vsmartcard-vpcd ];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ stargate01 ];
|
||||
}
|
||||
Reference in New Issue
Block a user