{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook, pkg-config, waylandSupport ? true, x11Support ? true, cairo, glib, libnotify, rofi-unwrapped, wl-clipboard, xclip, xdotool, wtype, }: import ./versions.nix ( { version, hash, patches, }: stdenv.mkDerivation rec { pname = "rofi-emoji"; inherit version; src = fetchFromGitHub { owner = "Mange"; repo = "rofi-emoji"; rev = "v${version}"; inherit hash; }; inherit patches; postPatch = '' patchShebangs clipboard-adapter.sh ''; postFixup = '' chmod +x $out/share/rofi-emoji/clipboard-adapter.sh wrapProgram $out/share/rofi-emoji/clipboard-adapter.sh \ --prefix PATH ":" ${ lib.makeBinPath ( [ libnotify ] ++ lib.optionals waylandSupport [ wl-clipboard wtype ] ++ lib.optionals x11Support [ xclip xdotool ] ) } ''; nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ]; buildInputs = [ cairo glib libnotify rofi-unwrapped ] ++ lib.optionals waylandSupport [ wl-clipboard wtype ] ++ lib.optionals x11Support [ xclip ]; meta = with lib; { description = "Emoji selector plugin for Rofi (built against ${rofi-unwrapped.pname})"; homepage = "https://github.com/Mange/rofi-emoji"; license = licenses.mit; maintainers = with maintainers; [ cole-h Mange ]; platforms = platforms.linux; }; } )