diff --git a/pkgs/tools/security/age-plugin-yubikey/default.nix b/pkgs/tools/security/age-plugin-yubikey/default.nix new file mode 100644 index 00000000000..a880f490dc7 --- /dev/null +++ b/pkgs/tools/security/age-plugin-yubikey/default.nix @@ -0,0 +1,37 @@ +{ lib +, stdenv +, rustPlatform +, fetchFromGitHub +, pkg-config +, pcsclite +, PCSC +}: + +rustPlatform.buildRustPackage rec { + pname = "age-plugin-yubikey"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "str4d"; + repo = pname; + rev = "51910edfab4006a068864602469ff7db3766bfbe"; # no tag for this release + sha256 = "sha256-mMqvBlGFdwe5BaC0bXZg/27BGNmFTTYbLUHWUciqxQ0="; + }; + + cargoSha256 = "sha256-OCbVLSmGx51pJ/EPgPfOyVrYWdloNEbexDV1zMsmEJc="; + + nativeBuildInputs = [ pkg-config ]; + buildInputs = + if stdenv.isDarwin then [ + PCSC + ] else [ + pcsclite + ]; + + meta = with lib; { + description = "YubiKey plugin for age clients"; + homepage = "https://github.com/str4d/age-plugin-yubikey"; + license = with licenses; [ asl20 mit ]; + maintainers = with maintainers; [ vtuan10 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b66badd5f85..c2804af17f8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4295,6 +4295,10 @@ with pkgs; agebox = callPackage ../tools/security/agebox { }; + age-plugin-yubikey = callPackage ../tools/security/age-plugin-yubikey { + inherit (pkgs.darwin.apple_sdk.frameworks) PCSC; + }; + bore = callPackage ../tools/networking/bore { inherit (darwin) Libsystem; inherit (darwin.apple_sdk.frameworks) SystemConfiguration;