nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 rustPlatform,
5 fetchFromGitHub,
6 installShellFiles,
7 python3,
8 libxcb,
9}:
10
11rustPlatform.buildRustPackage rec {
12 pname = "kbs2";
13 version = "0.7.3";
14
15 src = fetchFromGitHub {
16 owner = "woodruffw";
17 repo = "kbs2";
18 rev = "v${version}";
19 hash = "sha256-X+NhUQzxfok9amqAiim/vjkee45hjdPedsZc3zwcOXA=";
20 };
21
22 cargoHash = "sha256-Auk/6ltjfXE1VzlxmKikcV6MHDczpuRqKJrg6UGgJZE=";
23
24 nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.hostPlatform.isLinux [ python3 ];
25
26 buildInputs = lib.optionals stdenv.hostPlatform.isLinux [ libxcb ];
27
28 preCheck = ''
29 export HOME=$TMPDIR
30 '';
31
32 checkFlags = [
33 "--skip=kbs2::config::tests::test_find_config_dir"
34 ]
35 ++ lib.optionals stdenv.hostPlatform.isDarwin [ "--skip=test_ragelib_rewrap_keyfile" ];
36
37 postInstall = ''
38 mkdir -p $out/share/kbs2
39 cp -r contrib/ $out/share/kbs2
40 ''
41 + lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
42 installShellCompletion --cmd kbs2 \
43 --bash <($out/bin/kbs2 --completions bash) \
44 --fish <($out/bin/kbs2 --completions fish) \
45 --zsh <($out/bin/kbs2 --completions zsh)
46 '';
47
48 meta = {
49 description = "Secret manager backed by age";
50 mainProgram = "kbs2";
51 homepage = "https://github.com/woodruffw/kbs2";
52 changelog = "https://github.com/woodruffw/kbs2/blob/v${version}/CHANGELOG.md";
53 license = lib.licenses.mit;
54 maintainers = [ ];
55 };
56}