anchor.diff:        description = "Munin Node";
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
  -      path = [ pkgs.munin ];
  +      path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ];
  +      environment.MUNIN_LIBDIR = "${pkgs.munin}/lib";
         environment.MUNIN_PLUGSTATE = "/var/run/munin";
  +      environment.MUNIN_LOGDIR = "/var/log/munin";
         preStart = ''
           echo "updating munin plugins..."
   
           mkdir -p /etc/munin/plugins
           rm -rf /etc/munin/plugins/*
  -        PATH="/run/wrappers/bin:/run/current-system/sw/bin" ${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
  +        ${pkgs.munin}/bin/munin-node-configure --suggest --shell --families contrib,auto,manual --config ${nodeConf} --libdir=${pkgs.munin}/lib/plugins --servicedir=/etc/munin/plugins --sconfdir=${pluginConfDir} 2>/dev/null | ${pkgs.bash}/bin/bash
  +
  +        # NOTE: we disable disktstats because plugin seems to fail and it hangs html generation (100% CPU + memory leak)
  +        rm /etc/munin/plugins/diskstats || true
         '';
         serviceConfig = {
  -        ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/";
  +        ExecStart = "${pkgs.munin}/sbin/munin-node --config ${nodeConf} --servicedir /etc/munin/plugins/ --sconfdir=${pluginConfDir}";
         };
       };
   
  
positive.code: 
        ${nodeCfg.extraConfig}
      '';
  in
  
  {
  
negative.code: let
    nodeCfg = config.services.munin-node;
    cronCfg = config.services.munin-cron;
  
    muninConf = pkgs.writeText "munin.conf"
      ''
  