diff options
author | Bjørn Forsman <bjorn.forsman@gmail.com> | 2014-07-24 11:45:07 +0200 |
---|---|---|
committer | Bjørn Forsman <bjorn.forsman@gmail.com> | 2014-07-26 00:31:34 +0200 |
commit | 0a750e0f390cb726f2dbc3099beb78a7e21a12a3 (patch) | |
tree | 16e08bbb84acd0148108c7049c988125bf4e4181 /nixos/modules/services/monitoring | |
parent | 7acfec9e47e9fc44dfc6a5df80a6bf07f2aa8376 (diff) | |
download | nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.tar nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.tar.gz nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.tar.bz2 nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.tar.lz nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.tar.xz nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.tar.zst nixlib-0a750e0f390cb726f2dbc3099beb78a7e21a12a3.zip |
nixos/munin: change activationScript to preStart script
All activation scripts run in serial upon boot and nixos-rebuild switch etc., in contrast to preStart which run before a service starts, and can run in parallel with other services. The munin(-node) activation script is particularly slow. Change it to a preStart script so that it can run in parallel with other services and not slow down boot (or nixos-rebuild switch). This reduces (repeated) "nixos-rebuild test" time from ~16 seconds to ~8 on my (old) laptop.
Diffstat (limited to 'nixos/modules/services/monitoring')
-rw-r--r-- | nixos/modules/services/monitoring/munin.nix | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix index 966c2eca282a..21840bc67e8f 100644 --- a/nixos/modules/services/monitoring/munin.nix +++ b/nixos/modules/services/monitoring/munin.nix @@ -189,19 +189,18 @@ in wantedBy = [ "multi-user.target" ]; path = [ pkgs.munin ]; environment.MUNIN_PLUGSTATE = "/var/run/munin"; + preStart = '' + echo "updating munin plugins..." + + mkdir -p /etc/munin/plugins + rm -rf /etc/munin/plugins/* + PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash + ''; serviceConfig = { ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/"; }; }; - system.activationScripts.munin-node = '' - echo "updating munin plugins..." - - mkdir -p /etc/munin/plugins - rm -rf /etc/munin/plugins/* - PATH="/run/current-system/sw/bin:/run/current-system/sw/sbin" ${pkgs.munin}/sbin/munin-node-configure --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${muninPlugins} --servicedir=/etc/munin/plugins 2>/dev/null | ${pkgs.bash}/bin/bash - ''; - }) (mkIf cronCfg.enable { services.cron.systemCronJobs = [ |