{
  config,
  lib,
  pkgs,
  ...
}:
let
  cfg = config.services.rad-dev.yubikey;
in
{
  options = {
    services.rad-dev.yubikey = {
      enable = lib.mkEnableOption "enable yubikey defaults";
      enable-desktop-app = lib.mkEnableOption "installs desktop application";
    };
  };

  config = lib.mkIf cfg.enable {
    # enable the smart card daemon for certain yubikey operations
    services.pcscd.enable = true;

    environment.systemPackages = lib.optionals cfg.enable-desktop-app [ pkgs.yubioath-flutter ];
  };
}