{ 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; }; } )