2026-04-07 17:08:12 +02:00
|
|
|
{ pkgs, ... }:
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
# Create the plugdev group (required for user-space USB access to YubiKey)
|
|
|
|
|
users.groups.plugdev = {};
|
|
|
|
|
|
|
|
|
|
# Enable PC/SC daemon — required for GPG smartcard (gpg --card-status) and YubiKey
|
|
|
|
|
services.pcscd.enable = true;
|
|
|
|
|
|
|
|
|
|
# udev rules so the YubiKey gets plugdev group ownership and correct permissions
|
|
|
|
|
services.udev.packages = with pkgs; [
|
|
|
|
|
yubikey-personalization
|
|
|
|
|
libu2f-host
|
|
|
|
|
];
|
|
|
|
|
|
2026-04-07 17:18:53 +02:00
|
|
|
# CCID driver for smartcard access (required for YubiKey CCID functionality)
|
|
|
|
|
services.pcscd.plugins = [ pkgs.libccid ];
|
|
|
|
|
|
2026-04-07 17:08:12 +02:00
|
|
|
# YubiKey management tools
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
|
|
|
yubikey-manager # ykman CLI
|
|
|
|
|
yubikey-personalization # ykpers / ykchalresp
|
|
|
|
|
yubico-piv-tool # PIV applet management
|
|
|
|
|
];
|
|
|
|
|
}
|