53 lines
1.2 KiB
Nix
53 lines
1.2 KiB
Nix
|
{
|
||
|
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"];
|
||
|
};
|
||
|
};
|
||
|
}
|