From 69b4f427b67fe83ddb2bb3ee113770aa802e5643 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Tue, 28 Aug 2018 17:10:45 +0300 Subject: nixos/zabbix-agent: Make the Zabbix package user-configurable --- nixos/modules/services/monitoring/zabbix-agent.nix | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'nixos/modules/services/monitoring/zabbix-agent.nix') diff --git a/nixos/modules/services/monitoring/zabbix-agent.nix b/nixos/modules/services/monitoring/zabbix-agent.nix index 87857225e7d..426cf9bf86e 100644 --- a/nixos/modules/services/monitoring/zabbix-agent.nix +++ b/nixos/modules/services/monitoring/zabbix-agent.nix @@ -7,6 +7,8 @@ let cfg = config.services.zabbixAgent; + zabbix = cfg.package; + stateDir = "/var/run/zabbix"; logDir = "/var/log/zabbix"; @@ -44,6 +46,16 @@ in ''; }; + package = mkOption { + type = types.attrs; # Note: pkgs.zabbixXY isn't a derivation, but an attrset of { server = ...; agent = ...; }. + default = pkgs.zabbix; + defaultText = "pkgs.zabbix"; + example = literalExample "pkgs.zabbix34"; + description = '' + The Zabbix package to use. + ''; + }; + server = mkOption { default = "127.0.0.1"; description = '' @@ -87,14 +99,14 @@ in chown zabbix ${stateDir} ${logDir} ''; - serviceConfig.ExecStart = "@${pkgs.zabbix.agent}/sbin/zabbix_agentd zabbix_agentd --config ${configFile}"; + serviceConfig.ExecStart = "@${zabbix.agent}/sbin/zabbix_agentd zabbix_agentd --config ${configFile}"; serviceConfig.Type = "forking"; serviceConfig.RemainAfterExit = true; serviceConfig.Restart = "always"; serviceConfig.RestartSec = 2; }; - environment.systemPackages = [ pkgs.zabbix.agent ]; + environment.systemPackages = [ zabbix.agent ]; }; -- cgit 1.4.1