nixos/preload: init
[NixPkgs.git] / nixos / modules / services / x11 / urserver.nix
blobd0b6e0775e5d249944f34bbaf28bbd6f8a6ce60e
1 # urserver service
2 { config, lib, pkgs, ... }:
4 let
5   cfg = config.services.urserver;
6 in {
8   options.services.urserver.enable = lib.mkEnableOption (lib.mdDoc "urserver");
10   config = lib.mkIf cfg.enable {
12     networking.firewall = {
13       allowedTCPPorts = [ 9510 9512 ];
14       allowedUDPPorts = [ 9511 9512 ];
15     };
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   };