nixos-configs/devices/nos/modules/subtitles/sub-clean.nix

53 lines
1.2 KiB
Nix
Raw Normal View History

{
config,
pkgs,
...
}: let
inherit (config.vars) mainUser;
scriptSrc = pkgs.fetchFromGitHub {
owner = "brianspilner01";
repo = "media-server-scripts";
rev = "00d9efcd37bb2667d23d7747240b59291cde64d3";
hash = "sha256-Qql6Z+smU8vEJaai0POjdMnYpET9ak4NddNQevEQ8Ds=";
};
script = pkgs.concatTextFile {
name = "sub-clean.sh";
files = ["${scriptSrc}/sub-clean.sh"];
executable = true;
};
in {
systemd = {
services.sub-clean = {
serviceConfig = {
Type = "oneshot";
User = mainUser;
Group = config.users.users.${mainUser}.group;
};
path = with pkgs; [
findutils
(writeShellApplication {
name = "sub-clean";
runtimeInputs = [findutils gnugrep gawk];
text = ''
exec ${script} "$@"
'';
})
];
script = ''
find /data/anime -name '*.srt' -exec sub-clean "{}" \;
find /data/movies -name '*.srt' -exec sub-clean "{}" \;
find /data/tv -name '*.srt' -exec sub-clean "{}" \;
'';
};
timers.sub-clean = {
wantedBy = ["timers.target"];
partOf = ["sub-clean.service"];
timerConfig.OnCalendar = ["0:00:00"];
};
};
}