nixos/zabbix-agent: Make the Zabbix package user-configurable

This commit is contained in:
Tuomas Tynkkynen 2018-08-28 17:10:45 +03:00
parent 5bb9ebce4c
commit 69b4f427b6

View File

@ -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 ];
};