From 70bb2e784db49cfd69afc4de90fef19b582c85d8 Mon Sep 17 00:00:00 2001 From: Lucy Hochkamp Date: Wed, 3 Sep 2025 14:09:59 +0200 Subject: [PATCH] ytdl changes --- hosts/ds9/ytdl-sub.nix | 151 +++++++++++++++++++++++++---------------- 1 file changed, 91 insertions(+), 60 deletions(-) diff --git a/hosts/ds9/ytdl-sub.nix b/hosts/ds9/ytdl-sub.nix index ff2ea220..b10de177 100644 --- a/hosts/ds9/ytdl-sub.nix +++ b/hosts/ds9/ytdl-sub.nix @@ -5,64 +5,82 @@ inputs, ... }: +with lib; let - channels = [ - "2BoredGuysOfficial" - "AlexPrinz" - "BagelBoyOfficial" - "BenEater" - "Boy_Boy" - "ContraPoints" - "DIYPerks" - "DankPods" - "Defunctland" - "DeviantOllam" - "GarbageTime420" - "Ididathing" - "LinusTechTips" - "MaxFosh" - "MaxMakerChannel" - "MichaelReeves" - "Nerdforge" - "NileBlue" - "NileRed" - "NoBoilerplate" - "Parabelritter" - "PhilosophyTube" - "PosyMusic" - "RobBubble" - "TechnologyConnections" - "TechnologyConnextras" - "TheB1M" - "TomScottGo" - "TylerMcVicker1" - "WilliamOsman2" - "ZackFreedman" - "agingwheels" - "altf4games" - "billwurtz" - "f4micom" - "gabe.follower" - "hbomberguy" - "iliketomakestuff" - "jameshoffmann" - "simonegiertz" - "stacksmashing" - "standupmaths" - "styropyro" - "theCodyReeder" - "williamosman" - ]; + channels = { + "Entertainment" = [ + "2BoredGuysOfficial" + "AlexPrinz" + "BagelBoyOfficial" + "DiedeutschenBackrooms" + "DankPods" + "Defunctland" + "Ididathing" + "GarbageTime420" + "Boy_Boy" + "ContraPoints" + "PhilosophyTube" + "PosyMusic" + "RobBubble" + "agingwheels" + "NileBlue" + "NileRed" + "styropyro" + "williamosman" + "billwurtz" + "f4micom" + "hbomberguy" + "simonegiertz" + "Parabelritter" + "DeviantOllam" + "MaxFosh" + "MichaelReeves" + "TomScottGo" + "WilliamOsman2" + ]; + "Tism" = [ + "Echoray1" # alwin meschede + "TechnologyConnections" + "TechnologyConnextras" + "TheB1M" + "bahnblick_eu" + "jameshoffmann" + "scottmanley" + "theCodyReeder" + "standupmaths" + ]; + "Making" = [ + "DIYPerks" + "MaxMakerChannel" + "Nerdforge" + "iliketomakestuff" + "ZackFreedman" + + ]; + "Games" = [ + "TylerMcVicker1" + "gabe.follower" + "altf4games" + ]; + "Programming" = [ + "BenEater" + "NoBoilerplate" + "stacksmashing" + ]; + "Tech" = [ + "LinusTechTips" + ]; + }; in { - systemd.services."ytdl-sub-default".serviceConfig.ReadWritePaths = ["/data/media/yt"]; + systemd.services."ytdl-sub-default".serviceConfig.ReadWritePaths = [ "/data/media/yt" ]; services.ytdl-sub = { instances.default = { enable = true; schedule = "0/6:0"; config = { - presets."TV Show" = { + presets."Sponsorblock" = { ytdl_options.cookiefile = "/data/media/yt/cookies.Personal.txt"; subtitles = { embed_subtitles = true; @@ -73,25 +91,38 @@ in allow_auto_generated_subtitles = false; }; chapters = { + embed_chapters = true; sponsorblock_categories = [ - "sponsor" + # "outro" "selfpromo" + "preview" + "interaction" + "sponsor" + "music_offtopic" + # "intro" ]; - remove_sponsorblock_categories = "all"; + force_key_frames = false; }; }; }; subscriptions = { - "__preset__".overrides.tv_show_directory = "/data/media/yt"; - "Jellyfin TV Show by Date | Only Recent | Max 1080p" = builtins.listToAttrs ( - builtins.map (x: { - name = x; - value = "https://youtube.com/@${x}"; - }) channels - ); - "Jellyfin TV Show Collection" = { - "Murder Drones" = "https://www.youtube.com/playlist?list=PLHovnlOusNLiJz3sm0d5i2Evwa2LDLdrg"; + "__preset__".overrides = { + tv_show_directory = "/data/media/yt"; + only_recent_max_files = 30; + # only_recent_date_range = "30days"; + }; + "Jellyfin TV Show by Date | Sponsorblock | Only Recent | Max 1080p" = mapAttrs' ( + n: v: + nameValuePair "= ${n}" ( + builtins.listToAttrs (builtins.map (x: (nameValuePair x "https://youtube.com/@${x}")) v) + ) + ) channels; + "Jellyfin TV Show Collection | Sponsorblock" = { + "~Murder Drones" = { + s01_url = "https://www.youtube.com/playlist?list=PLHovnlOusNLiJz3sm0d5i2Evwa2LDLdrg"; + tv_show_collection_episode_ordering = "playlist-index"; + }; }; }; };