diff --git a/nixos/modules/services/monitoring/do-agent.nix b/nixos/modules/services/monitoring/do-agent.nix index 2d3fe2f7976..4dfb6236727 100644 --- a/nixos/modules/services/monitoring/do-agent.nix +++ b/nixos/modules/services/monitoring/do-agent.nix @@ -4,6 +4,7 @@ with lib; let cfg = config.services.do-agent; + in { options.services.do-agent = { @@ -11,23 +12,13 @@ in }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.do-agent ]; + systemd.packages = [ pkgs.do-agent ]; systemd.services.do-agent = { - description = "DigitalOcean Droplet Metrics Agent"; wantedBy = [ "multi-user.target" ]; - after = [ "network-online.target" ]; - wants = [ "network-online.target" ]; serviceConfig = { - ExecStart = "${pkgs.do-agent}/bin/do-agent --syslog"; - Restart = "always"; - OOMScoreAdjust = -900; - SyslogIdentifier = "DigitalOceanAgent"; - PrivateTmp = "yes"; - ProtectSystem = "full"; - ProtectHome = "yes"; - NoNewPrivileges = "yes"; - DynamicUser = "yes"; + ExecStart = [ "" "${pkgs.do-agent}/bin/do-agent --syslog" ]; + DynamicUser = true; }; }; }; diff --git a/pkgs/servers/monitoring/do-agent/default.nix b/pkgs/servers/monitoring/do-agent/default.nix index 1d6bb7198e5..8c851715e07 100644 --- a/pkgs/servers/monitoring/do-agent/default.nix +++ b/pkgs/servers/monitoring/do-agent/default.nix @@ -18,6 +18,10 @@ buildGoModule rec { vendorSha256 = null; + postInstall = '' + install -Dm444 -t $out/lib/systemd/system $src/packaging/etc/systemd/system/do-agent.service + ''; + meta = with lib; { description = "DigitalOcean droplet system metrics agent"; longDescription = '' @@ -30,4 +34,4 @@ buildGoModule rec { maintainers = with maintainers; [ yvt ]; platforms = platforms.linux; }; -} \ No newline at end of file +}