diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 14ff9fd8b68f6..06ed060fd676d 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -902,6 +902,7 @@ ./services/monitoring/riemann-dash.nix ./services/monitoring/riemann-tools.nix ./services/monitoring/riemann.nix + ./services/monitoring/rustdesk.nix ./services/monitoring/rustdesk-server.nix ./services/monitoring/scollector.nix ./services/monitoring/scrutiny.nix diff --git a/nixos/modules/services/monitoring/rustdesk.nix b/nixos/modules/services/monitoring/rustdesk.nix new file mode 100644 index 0000000000000..94c11de5aae70 --- /dev/null +++ b/nixos/modules/services/monitoring/rustdesk.nix @@ -0,0 +1,41 @@ +{ config, lib, pkgs, ... }: + +let + + cfg = config.services.rustdesk; + +in + +{ + + options = { + + services.rustdesk.enable = lib.mkEnableOption "Rustdesk daemon"; + + }; + + ###### implementation + + config = lib.mkIf cfg.enable { + + environment.systemPackages = [ pkgs.rustdesk ]; + + systemd.services.rustdesk = { + enable = true; + description = "rustdesk"; + serviceConfig = { + ExecStart = "${pkgs.rustdesk}/bin/rustdesk --service"; + ExecStop = "pkill -f \"rustdesk --\""; + PIDFile = "/run/rustdesk.pid"; + KillMode = "mixed"; + TimeoutStopSec = "30"; + User = "root"; + LimitNOFILE = "100000"; + }; + wantedBy = [ "multi-user.target" ]; + requires = ["network-online.target"]; + after = ["display-manager.service"]; + }; + }; + +}