1{ lib
2, stdenvNoCC
3, fetchFromSourcehut
4, makeWrapper
5, installShellFiles
6, wtype
7, wl-clipboard
8, pass
9, bemenu
10, scdoc
11}:
12
13stdenvNoCC.mkDerivation rec {
14 pname = "tessen";
15 version = "2.2.1";
16
17 src = fetchFromSourcehut {
18 owner = "~ayushnix";
19 repo = pname;
20 rev = "v${version}";
21 sha256 = "sha256-8hhYOd5h55kl7ChqdyRzsaxzWLpX41aqG8LfznmbFWw=";
22 };
23
24 nativeBuildInputs = [ makeWrapper installShellFiles scdoc ];
25
26 dontBuild = true;
27
28 installPhase = ''
29 runHook preInstall
30 install -D tessen $out/bin/tessen
31 wrapProgram $out/bin/tessen --prefix PATH : ${ lib.makeBinPath [ bemenu pass wtype wl-clipboard ] }
32 runHook postInstall
33 '';
34
35 postInstall = ''
36 scdoc < man/tessen.1.scd > man/tessen.1
37 scdoc < man/tessen.5.scd > man/tessen.5
38 installManPage man/*.{1,5}
39 installShellCompletion --cmd tessen \
40 --bash completion/tessen.bash-completion \
41 --fish completion/tessen.fish-completion
42 install -Dm644 config $out/share/tessen/config
43 '';
44
45 meta = with lib; {
46 homepage = "https://sr.ht/~ayushnix/tessen";
47 description = "An interactive menu to autotype and copy Pass and GoPass data";
48 license = licenses.gpl2Plus;
49 platforms = platforms.linux;
50 maintainers = with maintainers; [ monaaraj ];
51 };
52}