nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonApplication,
4 fetchFromGitHub,
5 configargparse,
6 hatchling,
7 rbw,
8
9 waylandSupport ? false,
10 wl-clipboard,
11 wtype,
12
13 x11Support ? false,
14 xclip,
15 xdotool,
16}:
17
18buildPythonApplication rec {
19 pname = "rofi-rbw";
20 version = "1.5.1";
21 format = "pyproject";
22
23 src = fetchFromGitHub {
24 owner = "fdw";
25 repo = "rofi-rbw";
26 tag = version;
27 hash = "sha256-Qdbz3UjWMCuJUzR6UMt/apt+OjMAr2U7uMtv9wxEZKE=";
28 };
29
30 nativeBuildInputs = [
31 hatchling
32 ];
33
34 buildInputs = [
35 rbw
36 ]
37 ++ lib.optionals waylandSupport [
38 wl-clipboard
39 wtype
40 ]
41 ++ lib.optionals x11Support [
42 xclip
43 xdotool
44 ];
45
46 propagatedBuildInputs = [ configargparse ];
47
48 pythonImportsCheck = [ "rofi_rbw" ];
49
50 wrapper_paths = [
51 rbw
52 ]
53 ++ lib.optionals waylandSupport [
54 wl-clipboard
55 wtype
56 ]
57 ++ lib.optionals x11Support [
58 xclip
59 xdotool
60 ];
61
62 wrapper_flags =
63 lib.optionalString waylandSupport "--typer wtype --clipboarder wl-copy"
64 + lib.optionalString x11Support "--typer xdotool --clipboarder xclip";
65
66 preFixup = ''
67 makeWrapperArgs+=(--prefix PATH : ${lib.makeBinPath wrapper_paths} --add-flags "${wrapper_flags}")
68 '';
69
70 meta = with lib; {
71 description = "Rofi frontend for Bitwarden";
72 homepage = "https://github.com/fdw/rofi-rbw";
73 license = licenses.mit;
74 maintainers = with maintainers; [
75 equirosa
76 dit7ya
77 ];
78 platforms = platforms.linux;
79 mainProgram = "rofi-rbw";
80 };
81}