From 78193d5270cee625f0735a1183afc7745c18fa8e Mon Sep 17 00:00:00 2001 From: Gabriel Arazas Date: Tue, 23 Jul 2024 17:57:38 +0800 Subject: [PATCH] wrapperPackages/archive-setup: init --- configs/flake-parts/default.nix | 1 + configs/flake-parts/wrapper-manager.nix | 14 ++++++++++++++ .../archive-setup/config/yt-dlp/audio.conf | 14 ++++++++++++++ .../archive-setup/config/yt-dlp/video.conf | 18 ++++++++++++++++++ .../wrapper-manager/archive-setup/default.nix | 17 +++++++++++++++++ 5 files changed, 64 insertions(+) create mode 100644 configs/flake-parts/wrapper-manager.nix create mode 100644 configs/wrapper-manager/archive-setup/config/yt-dlp/audio.conf create mode 100644 configs/wrapper-manager/archive-setup/config/yt-dlp/video.conf create mode 100644 configs/wrapper-manager/archive-setup/default.nix diff --git a/configs/flake-parts/default.nix b/configs/flake-parts/default.nix index 14af3082..9107ebd8 100644 --- a/configs/flake-parts/default.nix +++ b/configs/flake-parts/default.nix @@ -9,6 +9,7 @@ ./home-manager.nix ./nixos.nix ./nixvim.nix + ./wrapper-manager.nix # Subprojects. ./bahaghari.nix diff --git a/configs/flake-parts/wrapper-manager.nix b/configs/flake-parts/wrapper-manager.nix new file mode 100644 index 00000000..e6572ed6 --- /dev/null +++ b/configs/flake-parts/wrapper-manager.nix @@ -0,0 +1,14 @@ +{ lib, ... }: + +{ + setups.wrapper-manager = { + configs = { + archive-setup = { + systems = [ "x86_64-linux" ]; + nixpkgs.branch = "nixos-unstable"; + }; + }; + }; + + flake.wrapperManagerModules.default = ../../modules/wrapper-manager; +} diff --git a/configs/wrapper-manager/archive-setup/config/yt-dlp/audio.conf b/configs/wrapper-manager/archive-setup/config/yt-dlp/audio.conf new file mode 100644 index 00000000..a91d94e8 --- /dev/null +++ b/configs/wrapper-manager/archive-setup/config/yt-dlp/audio.conf @@ -0,0 +1,14 @@ +# Don't overwrite for cautious individuals. +--no-overwrite + +# To make sure all audio-related. +--extract-audio +--format bestaudio +--audio-format opus + +--output '%(album_artists.0,artists.0)s/%(album,playlist)s/%(track_number,playlist_index)d-%(track,title)s.%(ext)s' +--download-archive music-archive + +# Add all sorts of metadata. +--embed-thumbnail +--add-metadata diff --git a/configs/wrapper-manager/archive-setup/config/yt-dlp/video.conf b/configs/wrapper-manager/archive-setup/config/yt-dlp/video.conf new file mode 100644 index 00000000..89ff7431 --- /dev/null +++ b/configs/wrapper-manager/archive-setup/config/yt-dlp/video.conf @@ -0,0 +1,18 @@ +# Don't overwrite for cautious individuals. +--no-overwrite + +--output '%(uploader,artist,creator|Unknown)s/%(release_date>%F,upload_date>%F|Unknown)s-%(title)s.%(ext)s' +--format '(webm,mkv,mp4)[height<=?1280]' +--download-archive video-archive + +# Don't download past live streams. +--match-filters '!was_live' + +# Add all sorts of metadata. +--embed-thumbnail +--embed-chapters +--add-metadata + +# Add some metadata into sidecar files or something. +--write-info-json +--write-descriptions diff --git a/configs/wrapper-manager/archive-setup/default.nix b/configs/wrapper-manager/archive-setup/default.nix new file mode 100644 index 00000000..ec74aa59 --- /dev/null +++ b/configs/wrapper-manager/archive-setup/default.nix @@ -0,0 +1,17 @@ +{ lib, pkgs, ... }: + +{ + wrappers.yt-dlp-audio = { + arg0 = lib.getExe' pkgs.yt-dlp "yt-dlp"; + prependArgs = [ + "--config-location" ./config/yt-dlp/audio.conf + ]; + }; + + wrappers.yt-dlp-video = { + arg0 = lib.getExe' pkgs.yt-dlp "yt-dlp"; + prependArgs = [ + "--config-location" ./config/yt-dlp/video.conf + ]; + }; +}