{ config, lib, pkgs, ... }: # graphite-web on port 8080 # carbon cache on port 2003 (tcp/udp) with import ; let connect-time-cfg = with pkgs; writeText "collectd-connect-time.cfg" '' LoadPlugin python ModulePath "${collectd-connect-time}/lib/${python.libPrefix}/site-packages/" Import "collectd_connect_time" target "wry.r" "localhost" "google.com" interval 30 ''; graphite-cfg = pkgs.writeText "collectd-graphite-cfg" '' LoadPlugin write_graphite Host "heidi.r" Port "2003" Prefix "retiolum." EscapeCharacter "_" StoreRates false AlwaysAppendDS false ''; in { imports = [ ]; nixpkgs.config.packageOverrides = pkgs: with pkgs; { collectd = pkgs.collectd.override { python= pkgs.python; }; }; services.collectd = { enable = true; include = [ (toString connect-time-cfg) (toString graphite-cfg) ]; }; }