diff --git a/nixos/modules/services/monitoring/vnstat.nix b/nixos/modules/services/monitoring/vnstat.nix index 062d181b059a..ea7181856c95 100644 --- a/nixos/modules/services/monitoring/vnstat.nix +++ b/nixos/modules/services/monitoring/vnstat.nix @@ -6,17 +6,32 @@ }: let cfg = config.services.vnstat; + settingsFormat = pkgs.formats.keyValue { }; in { options.services.vnstat = { enable = lib.mkEnableOption "update of network usage statistics via vnstatd"; package = lib.mkPackageOption pkgs "vnstat" { }; + settings = lib.mkOption { + type = lib.types.submodule { freeformType = settingsFormat.type; }; + default = { }; + description = '' + Configuration for vnstat. Refer to + [https://humdi.net/vnstat/man/vnstat.conf.html] + or {manpage}`vnstat.conf(5)` for more information. + ''; + example = { + AlwaysAddNewInterfaces = 1; + }; + }; }; config = lib.mkIf cfg.enable { environment.systemPackages = [ cfg.package ]; + environment.etc."vnstat.conf".source = settingsFormat.generate "vnstat.conf" cfg.settings; + users = { groups.vnstatd = { };