summary refs log tree commit diff
path: root/pkgs/applications/misc/bemenu
diff options
context:
space:
mode:
authorThiago Kenji Okada <thiagokokada@gmail.com>2019-05-01 19:04:38 -0300
committerThiago Kenji Okada <thiagokokada@gmail.com>2019-05-02 20:53:20 -0300
commited971d0d90bc3db8cf6a32a47705889d94692cf2 (patch)
tree3e7cbb86a9a6f43f9393aa68dee4b01377e4e583 /pkgs/applications/misc/bemenu
parent794cf0a8ffdce02caa0c9036c63375bb1d39c279 (diff)
downloadnixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.tar
nixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.tar.gz
nixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.tar.bz2
nixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.tar.lz
nixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.tar.xz
nixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.tar.zst
nixpkgs-ed971d0d90bc3db8cf6a32a47705889d94692cf2.zip
bemenu: init at 0.1.0
Bemenu is a dynamic menu library and client program inspired by dmenu
with support for wayland compositors (and also X11 and ncurses).

Build and tested in NixOS 19.03.172392.6d7ed96429 in X11 (i3wm), wayland
(sway) and ncurses (kitty).
Diffstat (limited to 'pkgs/applications/misc/bemenu')
-rw-r--r--pkgs/applications/misc/bemenu/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix
new file mode 100644
index 00000000000..89c32668be9
--- /dev/null
+++ b/pkgs/applications/misc/bemenu/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, cairo, cmake, libxkbcommon
+, pango, fribidi, harfbuzz, pcre, pkgconfig
+, ncursesSupport ? true, ncurses ? null
+, waylandSupport ? true, wayland ? null
+, x11Support ? true, xlibs ? null, xorg ? null
+}:
+
+assert ncursesSupport -> ncurses != null;
+assert waylandSupport -> wayland != null;
+assert x11Support -> xlibs != null && xorg != null;
+
+stdenv.mkDerivation rec {
+  pname = "bemenu";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "Cloudef";
+    repo = "bemenu";
+    rev = "33e540a2b04ce78f5c7ab4a60b899c67f586cc32";
+    sha256 = "11h55m9dx6ai12pqij52ydjm36dvrcc856pa834njihrp626pl4w";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig pcre ];
+
+  buildInputs = with stdenv.lib; [
+    cairo
+    fribidi
+    harfbuzz
+    libxkbcommon
+    pango
+  ] ++ optionals ncursesSupport [ ncurses ]
+    ++ optionals waylandSupport [ wayland ]
+    ++ optionals x11Support [
+      xlibs.libX11 xlibs.libXinerama xlibs.libXft
+      xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb
+    ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Cloudef/bemenu";
+    description = "Dynamic menu library and client program inspired by dmenu";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ thiagokokada ];
+    platforms = with platforms; linux;
+  };
+}