42 lines
1 KiB
Nix
42 lines
1 KiB
Nix
{ pkgs, config, lib, ... }:
|
|
|
|
{
|
|
programs.yt-dlp = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
format = "'bestvideo+bestaudio/best'";
|
|
# Metadata
|
|
add-metadata = true;
|
|
embed-subs = true;
|
|
xattrs = true;
|
|
# Subtitles
|
|
write-sub = true;
|
|
sub-format = "best";
|
|
sub-lang = "en,de";
|
|
# Downloader
|
|
downloader = "aria2c";
|
|
downloader-args = "aria2c:'--async-dns=false --max-download-limit=6M --min-split-size=1M --max-connection-per-server=4 --split=4'";
|
|
# Other
|
|
no-overwrites = true;
|
|
no-call-home = true;
|
|
};
|
|
};
|
|
|
|
home.packages = with pkgs; [
|
|
aria2
|
|
rtmpdump
|
|
];
|
|
|
|
programs.fish = {
|
|
shellAliases = {
|
|
ytdl = "ytdl_with_options";
|
|
ytdl_mp4 = "ytdl_with_options -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]'";
|
|
yti = "ytdl_with_options -F";
|
|
};
|
|
|
|
functions.ytdl_with_options = ''
|
|
${lib.getExe config.programs.yt-dlp.package} --config-location "$HOME/.config/yt-dlp/config" --download-archive "$HOME/.config/yt-dlp/archive" $argv
|
|
'';
|
|
};
|
|
}
|