From c3b7a8b053bc08c82dd8a312fda769110b3ab578 Mon Sep 17 00:00:00 2001 From: Bart Brouns Date: Mon, 25 May 2015 17:40:16 +0200 Subject: add das_watchdog: a realtime watchdog --- nixos/modules/services/monitoring/das_watchdog.nix | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 nixos/modules/services/monitoring/das_watchdog.nix (limited to 'nixos/modules/services/monitoring/das_watchdog.nix') diff --git a/nixos/modules/services/monitoring/das_watchdog.nix b/nixos/modules/services/monitoring/das_watchdog.nix new file mode 100644 index 000000000000..785b4289dff4 --- /dev/null +++ b/nixos/modules/services/monitoring/das_watchdog.nix @@ -0,0 +1,34 @@ +# 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 = { + services.das_watchdog.enable = mkEnableOption "Whether to enable realtime watchdog"; + }; + + ###### 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; + }; + }; + }; +} -- cgit 1.4.1