From 204731c0a69136c9cebcb54f1afecf5145e26bbe Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 23 May 2024 13:26:22 +0200 Subject: refactor(pkgs): Categorize into `by-name` shards This might not be the perfect way to organize a package set -- especially if the set is not nearly the size of nixpkgs -- but it is _at_ least a way of organization. --- pkgs/by-name/yt/yti/package.nix | 17 +++++++++++++++++ pkgs/by-name/yt/yti/yti.sh | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 pkgs/by-name/yt/yti/package.nix create mode 100755 pkgs/by-name/yt/yti/yti.sh (limited to 'pkgs/by-name/yt/yti') diff --git a/pkgs/by-name/yt/yti/package.nix b/pkgs/by-name/yt/yti/package.nix new file mode 100644 index 00000000..5a39512a --- /dev/null +++ b/pkgs/by-name/yt/yti/package.nix @@ -0,0 +1,17 @@ +{ + sysLib, + gawk, + expect, + yt-dlp, +}: +sysLib.writeShellScript { + name = "yti"; + src = ./yti.sh; + generateCompletions = false; + keepPath = false; + dependencies = [ + gawk + expect + yt-dlp + ]; +} diff --git a/pkgs/by-name/yt/yti/yti.sh b/pkgs/by-name/yt/yti/yti.sh new file mode 100755 index 00000000..a69ffa74 --- /dev/null +++ b/pkgs/by-name/yt/yti/yti.sh @@ -0,0 +1,33 @@ +#! /usr/bin/env dash + +# shellcheck source=/dev/null +SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH + +DOWN_DIR=/home/soispha/media/music/down/youtube + +tmp=$(mktmp) +config=$(mktmp) + +for e in "$DOWN_DIR"/*.opus; do echo "$e" >>"$tmp"; done +[ "$(wc -l "$tmp" | awk '{print $1}')" -gt 2 ] && die "something is already downloaded" + +cat <"$config" +--paths home:"$DOWN_DIR" +#--output %(fulltitle) +--restrict-filenames +--no-overwrites +--no-write-info-json +--clean-info-json +--prefer-free-formats +#--format mp3 +--extract-audio +--audio-quality 0 +--audio-format best +EO + +rm "$DOWN_DIR/yt-dlp.log" +cd "$DOWN_DIR" || die "BUG: no $DOWN_DIR" + +unbuffer yt-dlp --config-location "$config" "$1" | tee "$DOWN_DIR/yt-dlp.log" + +# vim: ft=sh -- cgit 1.4.1