diff options
author | Franck Cuny <franck@fcuny.net> | 2022-04-07 08:31:05 -0700 |
---|---|---|
committer | Franck Cuny <franck@fcuny.net> | 2022-04-07 08:31:05 -0700 |
commit | dcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4 (patch) | |
tree | d8b5aa68afc302a116dafa26f74fcdf73587a8f2 /home/yt-dlp | |
parent | gitea: fix the module (diff) | |
download | world-dcc0315bba21b4efde7ffc0a6e50af24fdd0fbb4.tar.gz |
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.
Diffstat (limited to 'home/yt-dlp')
-rw-r--r-- | home/yt-dlp/config | 26 | ||||
-rw-r--r-- | home/yt-dlp/default.nix | 12 |
2 files changed, 38 insertions, 0 deletions
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; + }; +} |