64 lines
1.4 KiB
Nix
64 lines
1.4 KiB
Nix
{ lib
|
|
, rustPlatform
|
|
, fetchFromGitLab
|
|
, installShellFiles
|
|
, pkg-config
|
|
, python3
|
|
, dbus
|
|
, glib
|
|
, gpgme
|
|
, gtk3
|
|
, libxcb
|
|
, libxkbcommon
|
|
}:
|
|
|
|
rustPlatform.buildRustPackage rec {
|
|
pname = "prs";
|
|
version = "0.5.0";
|
|
|
|
src = fetchFromGitLab {
|
|
owner = "timvisee";
|
|
repo = "prs";
|
|
rev = "refs/tags/v${version}";
|
|
hash = "sha256-9/XKz+yOCFEB1VI2EK0xF5ecyBPeGztpGPo/aXQ6v5E=";
|
|
};
|
|
|
|
cargoHash = "sha256-kxIgToqhJhUgJcxnGRGG6I+YqM2diFgQDyn1jBxWAw8=";
|
|
|
|
postPatch = ''
|
|
# The GPGME backend is recommended
|
|
for f in "gtk3/Cargo.toml" "cli/Cargo.toml"; do
|
|
substituteInPlace "$f" --replace \
|
|
'default = ["backend-gnupg-bin"' 'default = ["backend-gpgme"'
|
|
done
|
|
'';
|
|
|
|
nativeBuildInputs = [ gpgme installShellFiles pkg-config python3 ];
|
|
|
|
buildInputs = [
|
|
dbus
|
|
glib
|
|
gpgme
|
|
gtk3
|
|
libxcb
|
|
libxkbcommon
|
|
];
|
|
|
|
postInstall = ''
|
|
for shell in bash fish zsh; do
|
|
installShellCompletion --cmd prs --$shell <($out/bin/prs internal completions $shell --stdout)
|
|
done
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Secure, fast & convenient password manager CLI using GPG and git to sync";
|
|
homepage = "https://gitlab.com/timvisee/prs";
|
|
changelog = "https://gitlab.com/timvisee/prs/-/blob/v${version}/CHANGELOG.md";
|
|
license = with licenses; [
|
|
lgpl3Only # lib
|
|
gpl3Only # everything else
|
|
];
|
|
maintainers = with maintainers; [ dotlambda ];
|
|
mainProgram = "prs";
|
|
};
|
|
}
|