{ config, lib, pkgs, ... }: let cfg = config.hive.yubikey; in { options = { hive.yubikey.enable = lib.mkOption { type = lib.types.bool; default = false; description = "Enable Yubikey support."; }; }; config = lib.mkIf cfg.enable { # Include udev rules for yubikey. services.udev.packages = with pkgs; [ yubikey-personalization ]; # OTP Manager environment.systemPackages = with pkgs; [ yubikey-personalization yubioath-flutter ]; # Enable smartcard support hardware.gpgSmartcards.enable = true; }; }