{ lib, pkgs, }: let runtimeInputs = with pkgs; [ ffmpeg v4l-utils alsa-utils gnome.zenity lxterminal ]; in pkgs.stdenvNoCC.mkDerivation (finalAttrs: { name = "v4l2-play"; meta.mainProgram = "v4l2-play"; nativeBuildInputs = with pkgs; [ makeWrapper copyDesktopItems ]; dontUnpack = true; dontBuild = true; dontConfigure = true; installPhase = '' runHook preInstall mkdir -p $out/bin cp ${./script.sh} $out/bin/v4l2-play chmod +wx $out/bin/v4l2-play substituteInPlace $out/bin/v4l2-play \ --replace-fail \ "#!/usr/bin/env nix-shell" \ "#!${pkgs.runtimeShell}" wrapProgram $out/bin/v4l2-play \ --prefix PATH : ${lib.makeBinPath runtimeInputs} runHook postInstall ''; desktopItems = pkgs.makeDesktopItem { name = "v4l2-play"; desktopName = "View video device"; exec = "v4l2-play"; keywords = [ "elgato" "passthrough" "v4l2" "video4linux2" "capture card" ]; }; })