38 lines
908 B
Nix
Executable file
38 lines
908 B
Nix
Executable file
{ config, pkgs, ... }:
|
|
|
|
let
|
|
scriptPath = "${config.vars.homeDir}/nixos/scripts";
|
|
after = [ "network.target" "NetworkManager.service" "uptime-kuma.service" ];
|
|
environment = {
|
|
VAR_IP = config.vars.privateIp;
|
|
};
|
|
in
|
|
{
|
|
systemd.services = {
|
|
"zfs-uptime-kuma" = {
|
|
inherit environment after;
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
User = "root";
|
|
};
|
|
path = with pkgs; [ bash curl zfs jq ];
|
|
script = ''
|
|
bash ${scriptPath}/zfs-healthcheck/uptime-kuma.sh
|
|
'';
|
|
};
|
|
};
|
|
|
|
systemd.timers = {
|
|
"zfs-uptime-kuma" = {
|
|
wantedBy = [ "timers.target" ];
|
|
partOf = [ "zfs-uptime-kuma.service" ];
|
|
timerConfig = {
|
|
Persistent = true; # Execute immediately if missed
|
|
OnUnitActiveSec = "7m"; # Run every x minutes
|
|
Unit = "zfs-uptime-kuma.service";
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|