at 17.09-beta 937 B view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4 5let 6 7 cfg = config.services.teamviewer; 8 9in 10 11{ 12 13 ###### interface 14 15 options = { 16 17 services.teamviewer.enable = mkEnableOption "TeamViewer daemon"; 18 19 }; 20 21 ###### implementation 22 23 config = mkIf (cfg.enable) { 24 25 environment.systemPackages = [ pkgs.teamviewer ]; 26 27 systemd.services.teamviewerd = { 28 description = "TeamViewer remote control daemon"; 29 30 wantedBy = [ "multi-user.target" ]; 31 after = [ "NetworkManager-wait-online.service" "network.target" ]; 32 preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer"; 33 34 serviceConfig = { 35 Type = "forking"; 36 ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d"; 37 PIDFile = "/run/teamviewerd.pid"; 38 ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; 39 Restart = "on-abort"; 40 StartLimitInterval = "60"; 41 StartLimitBurst = "10"; 42 }; 43 }; 44 }; 45 46}