vuls: init at 0.27.0 (#348530)
[NixPkgs.git] / nixos / modules / services / monitoring / das_watchdog.nix
blob88ca3a9227d2685346582b9b9141804df9e8ee23
1 # A general watchdog for the linux operating system that should run in the
2 # background at all times to ensure a realtime process won't hang the machine
3 { config, lib, pkgs, ... }:
5 with lib;
7 let
9   inherit (pkgs) das_watchdog;
11 in {
12   ###### interface
14   options = {
15     services.das_watchdog.enable = mkEnableOption "realtime watchdog";
16   };
18   ###### implementation
20   config = mkIf config.services.das_watchdog.enable {
21     environment.systemPackages = [ das_watchdog ];
22     systemd.services.das_watchdog = {
23       description = "Watchdog to ensure a realtime process won't hang the machine";
24       after = [ "multi-user.target" "sound.target" ];
25       wantedBy = [ "multi-user.target" ];
26       serviceConfig = {
27         User = "root";
28         Type = "simple";
29         ExecStart = "${das_watchdog}/bin/das_watchdog";
30         RemainAfterExit = true;
31       };
32     };
33   };