depot/third_party/nixpkgs/nixos/modules/services/x11/urserver.nix

50 lines
935 B
Nix

# urserver service
{
config,
lib,
pkgs,
...
}:
let
cfg = config.services.urserver;
in
{
options.services.urserver.enable = lib.mkEnableOption "urserver";
config = lib.mkIf cfg.enable {
networking.firewall = {
allowedTCPPorts = [
9510
9512
];
allowedUDPPorts = [
9511
9512
];
};
systemd.user.services.urserver = {
description = ''
Server for Unified Remote: The one-and-only remote for your computer.
'';
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
after = [ "network.target" ];
serviceConfig = {
Type = "forking";
ExecStart = ''
${pkgs.urserver}/bin/urserver --daemon
'';
ExecStop = ''
${pkgs.procps}/bin/pkill urserver
'';
RestartSec = 3;
Restart = "on-failure";
};
};
};
}