c7f94ff3ce
GitOrigin-RevId: b85ed9dcbf187b909ef7964774f8847d554fab3b
41 lines
1.2 KiB
Nix
41 lines
1.2 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
let
|
|
cfg = config.services.dae;
|
|
in
|
|
{
|
|
meta.maintainers = with lib.maintainers; [ pokon548 ];
|
|
|
|
options = {
|
|
services.dae = {
|
|
enable = lib.options.mkEnableOption (lib.mdDoc "the dae service");
|
|
package = lib.mkPackageOptionMD pkgs "dae" { };
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.services.dae.enable {
|
|
networking.firewall.allowedTCPPorts = [ 12345 ];
|
|
networking.firewall.allowedUDPPorts = [ 12345 ];
|
|
|
|
systemd.services.dae = {
|
|
unitConfig = {
|
|
Description = "dae Service";
|
|
Documentation = "https://github.com/daeuniverse/dae";
|
|
After = [ "network-online.target" "systemd-sysctl.service" ];
|
|
Wants = [ "network-online.target" ];
|
|
};
|
|
|
|
serviceConfig = {
|
|
User = "root";
|
|
ExecStartPre = "${lib.getExe cfg.package} validate -c /etc/dae/config.dae";
|
|
ExecStart = "${lib.getExe cfg.package} run --disable-timestamp -c /etc/dae/config.dae";
|
|
ExecReload = "${lib.getExe cfg.package} reload $MAINPID";
|
|
LimitNPROC = 512;
|
|
LimitNOFILE = 1048576;
|
|
Restart = "on-abnormal";
|
|
Type = "notify";
|
|
};
|
|
|
|
wantedBy = [ "multi-user.target" ];
|
|
};
|
|
};
|
|
}
|