at 23.11-pre 896 B view raw
1# urserver service 2{ config, lib, pkgs, ... }: 3 4let 5 cfg = config.services.urserver; 6in { 7 8 options.services.urserver.enable = lib.mkEnableOption (lib.mdDoc "urserver"); 9 10 config = lib.mkIf cfg.enable { 11 12 networking.firewall = { 13 allowedTCPPorts = [ 9510 9512 ]; 14 allowedUDPPorts = [ 9511 9512 ]; 15 }; 16 17 systemd.user.services.urserver = { 18 description = '' 19 Server for Unified Remote: The one-and-only remote for your computer. 20 ''; 21 wantedBy = [ "graphical-session.target" ]; 22 partOf = [ "graphical-session.target" ]; 23 after = [ "network.target" ]; 24 serviceConfig = { 25 Type = "forking"; 26 ExecStart = '' 27 ${pkgs.urserver}/bin/urserver --daemon 28 ''; 29 ExecStop = '' 30 ${pkgs.procps}/bin/pkill urserver 31 ''; 32 RestartSec = 3; 33 Restart = "on-failure"; 34 }; 35 }; 36 }; 37 38}