at 15.09-beta 866 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 = [ "graphical.target" ]; 31 after = [ "NetworkManager-wait-online.service" "network.target" ]; 32 33 serviceConfig = { 34 Type = "forking"; 35 ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d"; 36 PIDFile = "/run/teamviewerd.pid"; 37 ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; 38 Restart = "on-abort"; 39 StartLimitInterval = "60"; 40 StartLimitBurst = "10"; 41 }; 42 }; 43 }; 44 45}