Restructure unit generation and add more sources
This commit is contained in:
parent
031bd72e17
commit
bb07c9d88a
@ -1,6 +1,50 @@
|
||||
{ pkgs, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
with lib;
|
||||
|
||||
let
|
||||
mixcloudSources = {
|
||||
avocadoom = "https://www.mixcloud.com/avocadoom/";
|
||||
b4m = "https://www.mixcloud.com/b4m/";
|
||||
barbnerdy = "https://soundcloud.com/barbnerdy";
|
||||
beh2342 = "https://soundcloud.com/beh2342";
|
||||
couchsofa = "https://www.mixcloud.com/couchsofa/";
|
||||
das-kraftfuttermischwerk = "https://soundcloud.com/das-kraftfuttermischwerk";
|
||||
dj-spock = "https://www.mixcloud.com/dj_spock/";
|
||||
LoungeControl = "https://www.mixcloud.com/LoungeControl/";
|
||||
matthiasdamasty = "https://www.mixcloud.com/matthiasdamasty/";
|
||||
sh1bumi = "https://soundcloud.com/sh1bumi";
|
||||
shroombab = "https://www.mixcloud.com/shroombab/";
|
||||
tasmo = "https://www.mixcloud.com/tasmo/";
|
||||
vidister = "https://mixcloud.com/vidister/";
|
||||
};
|
||||
|
||||
generateYoutubedlMixcloudUnits = source: url: (
|
||||
nameValuePair "youtube-dl-mixcloud-${source}" {
|
||||
serviceConfig = {
|
||||
User = "data-mixcloud";
|
||||
Group = "data-mixcloud";
|
||||
Restart="on-failure";
|
||||
};
|
||||
path = [ pkgs.youtube-dl ];
|
||||
script = ''
|
||||
mkdir -p /data/mixcloud/${source}/
|
||||
cd /data/mixcloud/${source}/
|
||||
youtube-dl --ignore-errors --playlist-random --newline ${url}
|
||||
'';
|
||||
startAt = "*-*-* 05:05:00";
|
||||
}
|
||||
);
|
||||
|
||||
generateYoutubedlMixcloudTimers = source: url: (
|
||||
nameValuePair "youtube-dl-mixcloud-${source}" {
|
||||
timerConfig = {
|
||||
RandomizedDelaySec = 10800;
|
||||
};
|
||||
}
|
||||
);
|
||||
|
||||
in {
|
||||
services.nginx.virtualHosts = {
|
||||
"mixcloud.clerie.de" = {
|
||||
enableACME = true;
|
||||
@ -23,18 +67,6 @@
|
||||
};
|
||||
users.groups.data-mixcloud = {};
|
||||
|
||||
systemd.services."youtube-dl-mixcloud-couchsofa" = {
|
||||
serviceConfig = {
|
||||
User = "data-mixcloud";
|
||||
Group = "data-mixcloud";
|
||||
Restart="on-failure";
|
||||
};
|
||||
path = [ pkgs.youtube-dl ];
|
||||
script = ''
|
||||
mkdir -p /data/mixcloud/couchsofa/
|
||||
cd /data/mixcloud/couchsofa/
|
||||
youtube-dl --ignore-errors --playlist-random --newline https://www.mixcloud.com/couchsofa/
|
||||
'';
|
||||
startAt = "*-*-* 05:05:00";
|
||||
};
|
||||
systemd.services = (mapAttrs' generateYoutubedlMixcloudUnits mixcloudSources);
|
||||
systemd.timers = (mapAttrs' generateYoutubedlMixcloudTimers mixcloudSources);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user