Unverified Commit ef02511f authored by Pol Dellaiera's avatar Pol Dellaiera Committed by GitHub
Browse files

Merge pull request #247358 from pokon548/dae-add-service

nixos/dae: init
parents be2d1651 872d49d1
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -13482,6 +13482,12 @@
    githubId = 38314551;
    name = "Peter Okelmann";
  };
  pokon548 = {
    email = "nix@bukn.uk";
    github = "pokon548";
    githubId = 65808665;
    name = "Bu Kun";
  };
  polarmutex = {
    email = "brian@brianryall.xyz";
    github = "polarmutex";
+1 −0
Original line number Diff line number Diff line
@@ -864,6 +864,7 @@
  ./services/networking/coturn.nix
  ./services/networking/create_ap.nix
  ./services/networking/croc.nix
  ./services/networking/dae.nix
  ./services/networking/dante.nix
  ./services/networking/dhcpcd.nix
  ./services/networking/dnscache.nix
+41 −0
Original line number Diff line number Diff line
{ 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.target" "systemd-sysctl.service" ];
        Wants = [ "network.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" ];
    };
  };
}
+2 −1
Original line number Diff line number Diff line
@@ -58,7 +58,8 @@ buildGoModule rec {
    description = "A Linux high-performance transparent proxy solution based on eBPF";
    homepage = "https://github.com/daeuniverse/dae";
    license = licenses.agpl3Only;
    maintainers = with maintainers; [ oluceps ];
    maintainers = with maintainers; [ oluceps pokon548 ];
    platforms = platforms.linux;
    mainProgram = "dae";
  };
}