nixos-configs/devices/nos/modules/subtitles/syncing/default.nix

46 lines
999 B
Nix
Raw Normal View History

{
config,
pkgs,
pocketsphinx-src,
subsync-src,
...
}: let
inherit (config.vars) mainUser;
subsync = pkgs.callPackage ./subsync {
inherit pocketsphinx-src subsync-src;
};
node-syncsub = pkgs.callPackage ./node-syncsub {
inherit subsync;
};
in {
environment.systemPackages = [subsync node-syncsub];
systemd = {
services.subsync-job = {
serviceConfig = {
Type = "oneshot";
User = mainUser;
Group = config.users.users.${mainUser}.group;
};
path = with pkgs; [
findutils
subsync
node-syncsub
];
script = ''
find /data/anime -name '*.srt' -exec node-syncsub "{}" \;
find /data/movies -name '*.srt' -exec node-syncsub "{}" \;
find /data/tv -name '*.srt' -exec node-syncsub "{}" \;
'';
};
timers.subsync-job = {
wantedBy = ["timers.target"];
partOf = ["subsync-job.service"];
timerConfig.OnCalendar = ["0:00:00"];
};
};
}