From dcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4 Mon Sep 17 00:00:00 2001 From: Franck Cuny Date: Thu, 7 Apr 2022 08:31:05 -0700 Subject: initial attempt to reconfigure home-manager All the modules that are needed for home-manager should be under `home/`, and each host will have a `host.nix` where the modules are enabled as needed. Later on we can create some profiles to make it easier to consume the configuration. I apply this only to tahoe for now, as the amount of packages needed for my user are pretty limited. --- home/yt-dlp/config | 26 ++++++++++++++++++++++++++ home/yt-dlp/default.nix | 12 ++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 home/yt-dlp/config create mode 100644 home/yt-dlp/default.nix (limited to 'home/yt-dlp') diff --git a/home/yt-dlp/config b/home/yt-dlp/config new file mode 100644 index 0000000..4710c9f --- /dev/null +++ b/home/yt-dlp/config @@ -0,0 +1,26 @@ +# Preferred formats: +# 1. 1080p, combined, mp4 (for some non-youtube sites). +# 2. 1080p, combined, any format (in case mp4 is not available). +# 3. 1080p, best video + best audio (only available with separate video and audio on youtube). +# 4. >30fps (any resolution), best video + best audio (only available with separate video and audio on youtube). +# 5. 720p, pre-joined, because it is available on youtube. +# 6. <720p, best video + best audio (480p and some other lower resolutions are only available with separate video and audio on youtube). +# 7. When all else fails, take whatever youtube-dl thinks is the best (mainly for non-YT websites). +--format="best[height=1080][ext=mp4]/best[height=1080]/bestvideo[height=1080][ext=mp4]+bestaudio[ext=m4a]/bestvideo[fps>30][ext=mp4]+bestaudio[ext=m4a]/best[height=720][ext=mp4]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best" + +--sub-langs all +--write-subs + +--convert-subs=srt + +--restrict-filenames +--output="$HOME/media/videos/%(title)s.%(ext)s" +--merge-output-format mkv + +--embed-metadata +--embed-chapters +--embed-info-json +# create chapter entries to mark sponsor segments +--sponsorblock-mark all + +--yes-playlist diff --git a/home/yt-dlp/default.nix b/home/yt-dlp/default.nix new file mode 100644 index 0000000..ce42014 --- /dev/null +++ b/home/yt-dlp/default.nix @@ -0,0 +1,12 @@ +{ config, lib, pkgs, ... }: +let cfg = config.my.home.yt-dlp; +in { + options.my.home.yt-dlp = with lib.my; { + enable = mkEnableOption "yt-dlp configuration"; + }; + + config.programs.yt-dlp = lib.mkIf cfg.enable { + config.home.packages = with pkgs; [ yt-dlp ]; + xdg.configFile."yt-dlp/config".source = config; + }; +} -- cgit 1.4.1