nixpkgs/nixos/modules/services/monitoring/das_watchdog.nix

35 lines
878 B
Nix
Raw Normal View History

2015-05-25 16:40:16 +01:00
# A general watchdog for the linux operating system that should run in the
# background at all times to ensure a realtime process won't hang the machine
{ config, lib, pkgs, ... }:
with lib;
let
inherit (pkgs) das_watchdog;
in {
###### interface
options = {
2015-06-21 16:19:46 +01:00
services.das_watchdog.enable = mkEnableOption "realtime watchdog";
2015-05-25 16:40:16 +01:00
};
###### implementation
config = mkIf config.services.das_watchdog.enable {
environment.systemPackages = [ das_watchdog ];
systemd.services.das_watchdog = {
description = "Watchdog to ensure a realtime process won't hang the machine";
after = [ "multi-user.target" "sound.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "root";
Type = "oneshot";
ExecStart = "${das_watchdog}/bin/das_watchdog";
RemainAfterExit = true;
};
};
};
}