1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 pass-wayland,
6 coreutils,
7 gnugrep,
8 libnotify,
9 pwgen,
10 findutils,
11 makeWrapper,
12 wl-clipboard,
13 wtype,
14 wofi,
15 extensions ? exts: [ ],
16}:
17
18let
19 wrapperPath = lib.makeBinPath [
20 coreutils
21 findutils
22 gnugrep
23 libnotify
24 pwgen
25 wofi
26 wl-clipboard
27 wtype
28 (pass-wayland.withExtensions extensions)
29 ];
30in
31stdenv.mkDerivation rec {
32 pname = "wofi-pass";
33 version = "24.1.0";
34
35 src = fetchFromGitHub {
36 owner = "schmidtandreas";
37 repo = "wofi-pass";
38 rev = "v${version}";
39 sha256 = "sha256-oRGDhr28UQjr+g//fWcLKWXqKSsRUWtdh39UMFSaPfw=";
40 };
41
42 nativeBuildInputs = [ makeWrapper ];
43
44 dontBuild = true;
45
46 installPhase = ''
47 install -Dm755 wofi-pass -t $out/bin
48 install -Dm755 wofi-pass.conf -t $out/share/doc/wofi-pass/wofi-pass.conf
49 '';
50
51 fixupPhase = ''
52 patchShebangs $out/bin
53
54 wrapProgram $out/bin/wofi-pass \
55 --prefix PATH : "${wrapperPath}"
56 '';
57
58 meta = {
59 description = "Script to make wofi work with password-store";
60 homepage = "https://github.com/schmidtandreas/wofi-pass";
61 maintainers = with lib.maintainers; [ akechishiro ];
62 license = lib.licenses.gpl2Plus;
63 platforms = with lib.platforms; linux;
64 mainProgram = "wofi-pass";
65 };
66}