1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 withNotification ? false,
6 withYubikey ? false,
7 withStrictCaller ? false,
8 withAll ? false,
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "git-credential-keepassxc";
13 version = "0.14.1";
14
15 src = fetchFromGitHub {
16 owner = "Frederick888";
17 repo = "git-credential-keepassxc";
18 rev = "v${version}";
19 hash = "sha256-qxNzWuuIoK9BJLVcWtrER+MyA5cyd03xAwGljh8DZC4=";
20 };
21
22 cargoHash = "sha256-jjexSzxRhnNPW+urG7KpZBWfGcy06Cg4lXlQogF3L/A=";
23
24 buildFeatures =
25 [ ]
26 ++ lib.optional withNotification "notification"
27 ++ lib.optional withYubikey "yubikey"
28 ++ lib.optional withStrictCaller "strict-caller"
29 ++ lib.optional withAll "all";
30
31 meta = with lib; {
32 description = "Helper that allows Git (and shell scripts) to use KeePassXC as credential store";
33 longDescription = ''
34 git-credential-keepassxc is a Git credential helper that allows Git
35 (and shell scripts) to get/store logins from/to KeePassXC.
36 It communicates with KeePassXC using keepassxc-protocol which is
37 originally designed for browser extensions.
38 '';
39 homepage = "https://github.com/Frederick888/git-credential-keepassxc";
40 license = licenses.gpl3Plus;
41 maintainers = with maintainers; [ fgaz ];
42 mainProgram = "git-credential-keepassxc";
43 };
44}