{ config, lib, pkgs, ... }: with lib; let cfg = config.local.hardware.yubico; in { options.local.hardware.yubico = { enable = mkEnableOption "Yubico hardware support"; }; config = mkIf cfg.enable { environment.etc."pkcs11/modules/ykcs11".text = '' module: ${pkgs.yubico-piv-tool}/lib/libykcs11.so ''; services = { pcscd.enable = true; udev.packages = [ pkgs.yubikey-personalization ]; }; }; }