{ stdenv, lib, fetchFromGitHub, pkg-config, meson, cmake, ninja, gst_all_1, wrapQtAppsHook, qtbase, qtmultimedia, layer-shell-qt }: let gstreamerPath = with gst_all_1; lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0" [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly ]; in stdenv.mkDerivation rec { pname = "qt-video-wlr"; version = "2023-07-22"; src = fetchFromGitHub { owner = "xdavidwu"; repo = "qt-video-wlr"; rev = "1373c8eeb0a5d867927ba30a9a9bb2d5b0057a87"; hash = "sha256-mg0ROD9kV88I5uCm+niAI5tJuhkmYC7Z8dixxrNow4c="; }; nativeBuildInputs = [ pkg-config meson cmake # only used for find layer-shell-qt ninja wrapQtAppsHook ]; buildInputs = [ qtbase qtmultimedia layer-shell-qt ]; qtWrapperArgs = [ "--prefix PATH : $out/bin/qt-video-wlr" "--prefix GST_PLUGIN_PATH : ${gstreamerPath}" ]; meta = with lib; { description = "Qt pip-mode-like video player for wlroots-based wayland compositors"; mainProgram = "qt-video-wlr"; homepage = "https://github.com/xdavidwu/qt-video-wlr"; license = licenses.mit; maintainers = with maintainers; [ fionera rewine ]; platforms = with platforms; linux; }; }