Searching for VictoriaLogs on search.nixos.org gave me no results, so I ran victorialogs from Docker. But at some point I did search for victorialogs on nixpkgs and realized that the binary is built with victoriametrics.
Update: services.victorialogs is now present in nixos, so use that instead.
To get VictoriaLogs running then only requires specifying a service:
systemd.services.victorialogs = {
description = "VictoriaLogs";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
environment = {
retention = "12"; # months
storageDataPath = "/var/lib/victorialogs"; # state directory
};
serviceConfig = {
ExecStart = "${pkgs.victoriametrics}/bin/victoria-logs -envflag.enable";
DynamicUser = true;
StateDirectory = "victorialogs";
};
Now you just need to point log collectors at victorialogs and get the vlogscli binary for querying.