Files
dotfiles/systems/jeeves/services/systemd.nix
T

42 lines
1.3 KiB
Nix

{
pkgs,
...
}:
{
systemd = {
services = {
plex_permission = {
description = "maintains /zfs/storage/plex permissions";
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.bash}/bin/bash ${../scripts/plex_permission.sh}";
};
};
# The unused onboard i350 port hangs ~90s after every boot ("PCIe
# link lost", MMIO reads return all-Fs) even with pcie_aspm=off.
# Remove it from the PCI bus so nothing (hwmon temperature polls,
# networkd) touches the dead hardware. Reversible via
# `echo 1 > /sys/bus/pci/rescan`.
remove_dead_igb_port = {
wantedBy = [ "multi-user.target" ];
description = "removes hung i350 port 0000:61:00.0 from the PCI bus";
unitConfig.ConditionPathExists = "/sys/bus/pci/devices/0000:61:00.0/remove";
serviceConfig = {
Type = "oneshot";
ExecStart = "${pkgs.bash}/bin/bash -c 'echo 1 > /sys/bus/pci/devices/0000:61:00.0/remove'";
};
};
};
timers = {
plex_permission = {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "1h";
OnCalendar = "daily 03:00";
Unit = "plex_permission.service";
};
};
};
};
}