ed971d0d90
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).
45 lines
1.3 KiB
Nix
45 lines
1.3 KiB
Nix
{ 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;
|
|
};
|
|
}
|