19 lines
714 B
Nix
19 lines
714 B
Nix
{pkgs, ...}: let
|
|
rofi = pkgs.rofi-wayland;
|
|
in
|
|
pkgs.writeShellScriptBin "ytplay" ''
|
|
URL=$(${rofi}/bin/rofi -dmenu -i -p "Video URL")
|
|
if [ -z "$URL" ]; then
|
|
echo "You need to provide a URL"
|
|
exit 1
|
|
fi
|
|
RESOLUTION_CHOICE=$(${pkgs.yt-dlp}/bin/yt-dlp --list-formats "$URL" | \
|
|
grep -E "webm.*[0-9]+x[0-9]" | \
|
|
awk '{print $3 " " $1}' | \
|
|
sort -gu | \
|
|
${rofi}/bin/rofi -dmenu -i -p "Resolution")
|
|
mapfile -t RESOLUTION <<< "$RESOLUTION_CHOICE"
|
|
RESOLUTION_CODE=''${RESOLUTION[0]}
|
|
${pkgs.mpv}/bin/mpv --ytdl-format="''${RESOLUTION_CODE}+bestaudio/best" "$URL"
|
|
''
|