diff --git a/pkgs/tools/security/age-plugin-ledger/default.nix b/pkgs/tools/security/age-plugin-ledger/default.nix new file mode 100644 index 000000000000..6ed6b526b65d --- /dev/null +++ b/pkgs/tools/security/age-plugin-ledger/default.nix @@ -0,0 +1,44 @@ +{ lib +, stdenv +, rustPlatform +, fetchFromGitHub +, pkg-config +, libusb1 +, openssl +, rage +, AppKit +}: + +rustPlatform.buildRustPackage rec { + pname = "age-plugin-ledger"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "Ledger-Donjon"; + repo = "age-plugin-ledger"; + rev = "v${version}"; + hash = "sha256-g5GbWXhaGEafiM3qkGlRXHcOzPZl2pbDWEBPg4gQWcg="; + }; + + cargoHash = "sha256-SbgH67XuxBa7WFirSdOIUxfJGlIYezISCEA3LJGN3ys="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + libusb1 + openssl + ] ++ lib.optional stdenv.isDarwin AppKit; + + nativeCheckInputs = [ + rage + ]; + + meta = with lib; { + description = "A Ledger Nano plugin for age"; + homepage = "https://github.com/Ledger-Donjon/age-plugin-ledger"; + license = with licenses; [ mit asl20 ]; + maintainers = with maintainers; [ erdnaxe ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 52f0e843a448..aa585a850d60 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6784,6 +6784,10 @@ with pkgs; agebox = callPackage ../tools/security/agebox { }; + age-plugin-ledger = callPackage ../tools/security/age-plugin-ledger { + inherit (darwin.apple_sdk.frameworks) AppKit; + }; + age-plugin-tpm = callPackage ../tools/security/age-plugin-tpm { }; age-plugin-yubikey = darwin.apple_sdk_11_0.callPackage ../tools/security/age-plugin-yubikey {