vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / services / monitoring / teamviewer.nix
blob360cdd1c6b6aeaba0083d4e2d412996154a9f1e8
1 { config, lib, pkgs, ... }:
3 with lib;
5 let
7   cfg = config.services.teamviewer;
9 in
13   ###### interface
15   options = {
17     services.teamviewer.enable = mkEnableOption "TeamViewer daemon";
19   };
21   ###### implementation
23   config = mkIf (cfg.enable) {
25     environment.systemPackages = [ pkgs.teamviewer ];
27     services.dbus.packages = [ pkgs.teamviewer ];
29     systemd.services.teamviewerd = {
30       description = "TeamViewer remote control daemon";
32       wantedBy = [ "multi-user.target" ];
33       wants = [ "network-online.target" ];
34       after = [ "network-online.target" "network.target" "dbus.service" ];
35       requires = [ "dbus.service" ];
36       preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer";
38       startLimitIntervalSec = 60;
39       startLimitBurst = 10;
40       serviceConfig = {
41         Type = "simple";
42         ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -f";
43         PIDFile = "/run/teamviewerd.pid";
44         ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
45         Restart = "on-abort";
46       };
47     };
48   };