yt-dl sub

This commit is contained in:
Lucy Hochkamp 2025-08-17 17:17:13 +02:00
parent 4978d56c8c
commit 2d0c946fe3
No known key found for this signature in database
2 changed files with 114 additions and 12 deletions

View file

@ -21,6 +21,7 @@ in
./maubot.nix
./woodpecker.nix
./attic.nix
./ytdl-sub.nix
../../nixos-modules/networking/tailscale.nix
../../nixos-modules/services/docker.nix
@ -90,18 +91,18 @@ in
# Immutable users due to tmpfs
users.mutableUsers = false;
users.users.nia = {
createHome = true;
isNormalUser = true;
extraGroups = [
"docker"
"podman"
"wheel"
];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDq+jk1Bi8/x0lYDiVi/iVnp9nEleocoQ+xHmlpDt9Qs"
];
};
# users.users.nia = {
# createHome = true;
# isNormalUser = true;
# extraGroups = [
# "docker"
# "podman"
# "wheel"
# ];
# openssh.authorizedKeys.keys = [
# "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDq+jk1Bi8/x0lYDiVi/iVnp9nEleocoQ+xHmlpDt9Qs"
# ];
# };
users.users.bzzt = {
description = "bzzt server service user";
home = "/var/lib/bzzt";

101
hosts/ds9/ytdl-sub.nix Normal file
View file

@ -0,0 +1,101 @@
{
config,
pkgs,
lib,
inputs,
...
}:
let
channels = [
"WilliamOsman2"
"TechnologyConnections"
"GarbageTime420"
"LinusTechTips"
"gabe.follower"
"TheB1M"
"2BoredGuysOfficial"
"DankPods"
"Ididathing"
"Boy_Boy"
"TylerMcVicker1"
"PosyMusic"
"jameshoffmann"
"NoBoilerplate"
"Parabelritter"
"TomScottGo"
"f4micom"
"DeviantOllam"
"styropyro"
"Defunctland"
"BenEater"
"stacksmashing"
"ZackFreedman"
"MaxMakerChannel"
"agingwheels"
"PhilosophyTube"
"Nerdforge"
"AlexPrinz"
"MaxFosh"
"BagelBoyOfficial"
"hbomberguy"
"ContraPoints"
"RobBubble"
"standupmaths"
"theCodyReeder"
"NileRed"
"NileBlue"
"TechnologyConnextras"
"simonegiertz"
"billwurtz"
"MichaelReeves"
"williamosman"
"iliketomakestuff"
"altf4games"
"DIYPerks"
];
in
{
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" = {
ytdl_options.cookiefile = "/data/media/yt/cookies.Personal.txt";
subtitles = {
embed_subtitles = true;
languages = [
"en"
"de"
];
allow_auto_generated_subtitles = false;
};
chapters = {
sponsorblock_categories = [
"sponsor"
"selfpromo"
];
remove_sponsorblock_categories = "all";
};
};
};
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";
};
};
};
group = "users";
};
}