{ lib , stdenv , fetchFromGitHub , cmake , pkg-config , wayland-scanner , makeWrapper , wrapQtAppsHook , hyprland-protocols , hyprlang , libdrm , mesa , pipewire , qtbase , qttools , qtwayland , sdbus-cpp , systemd , wayland , wayland-protocols , hyprland , hyprpicker , slurp }: stdenv.mkDerivation (self: { pname = "xdg-desktop-portal-hyprland"; version = "1.3.1"; src = fetchFromGitHub { owner = "hyprwm"; repo = "xdg-desktop-portal-hyprland"; rev = "v${self.version}"; hash = "sha256-wP611tGIWBA4IXShWbah7TxqdbvhfcfT2vnXalX/qzk="; }; nativeBuildInputs = [ cmake pkg-config wayland-scanner makeWrapper wrapQtAppsHook ]; buildInputs = [ hyprland-protocols hyprlang libdrm mesa pipewire qtbase qttools qtwayland sdbus-cpp systemd wayland wayland-protocols ]; dontWrapQtApps = true; postInstall = '' wrapProgramShell $out/bin/hyprland-share-picker \ "''${qtWrapperArgs[@]}" \ --prefix PATH ":" ${lib.makeBinPath [slurp hyprland]} wrapProgramShell $out/libexec/xdg-desktop-portal-hyprland \ --prefix PATH ":" ${lib.makeBinPath [(placeholder "out") hyprpicker]} ''; meta = with lib; { homepage = "https://github.com/hyprwm/xdg-desktop-portal-hyprland"; description = "xdg-desktop-portal backend for Hyprland"; license = licenses.bsd3; maintainers = with maintainers; [ fufexan ]; platforms = platforms.linux; }; })