diff options
| author | Michael Hoang <Enzime@users.noreply.github.com> | 2024-10-04 09:44:43 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-04 09:44:43 +1000 |
| commit | c266b57bbea24083de4aaedd0921da1e46b2bd9f (patch) | |
| tree | f8cd427346216ac4735b3cd1f555e6535ed0d7bd /modules/services/monitoring/netdata.nix | |
| parent | f61d5f2051a387a15817007220e9fb3bbead57b3 (diff) | |
| parent | 239d802869a30bb45d4403e8f63a57a61f6910d9 (diff) | |
Merge pull request #1077 from rsrohitsingh682/add-netadata
feat: add netdata service
Diffstat (limited to 'modules/services/monitoring/netdata.nix')
| -rw-r--r-- | modules/services/monitoring/netdata.nix | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/modules/services/monitoring/netdata.nix b/modules/services/monitoring/netdata.nix new file mode 100644 index 0000000..da0809c --- /dev/null +++ b/modules/services/monitoring/netdata.nix @@ -0,0 +1,55 @@ +{ config, lib, pkgs, ... }: +with lib; +let + cfg = config.services.netdata; + +in { + meta.maintainers = [ lib.maintainers.rsrohitsingh682 or "rsrohitsingh682" ]; + + options = { + services.netdata = { + enable = mkEnableOption "Netdata daemon"; + + package = lib.mkPackageOption pkgs "netdata" {}; + + config = mkOption { + type = types.lines; + default = ""; + description = "Custom configuration for Netdata"; + }; + + workDir = mkOption { + type = types.path; + default = "/var/lib/netdata"; + description = "Working directory for Netdata"; + }; + + logDir = mkOption { + type = types.path; + default = "/var/log/netdata"; + description = "Log directory for Netdata"; + }; + }; + }; + + config = mkIf cfg.enable { + environment.systemPackages = [ cfg.package ]; + + launchd.daemons.netdata = { + serviceConfig = { + Label = "netdata"; + KeepAlive = true; + WorkingDirectory = cfg.workDir; + StandardErrorPath = "${cfg.logDir}/netdata.log"; + StandardOutPath = "${cfg.logDir}/netdata.log"; + }; + command = lib.getExe cfg.package; + }; + + environment.etc."netdata/netdata.conf".text = cfg.config; + + system.activationScripts.preActivation.text = '' + mkdir -p ${cfg.workDir} + ''; + }; +} |
