pkgs.goaccess
];
- nixpkgs.config.packageOverrides = oldpkgs: rec {
- goaccess = oldpkgs.goaccess.overrideAttrs(old: rec {
- name = "goaccess-${version}";
- version = "1.3";
- src = pkgs.fetchurl {
- url = "https://tar.goaccess.io/${name}.tar.gz";
- sha256 = "16vv3pj7pbraq173wlxa89jjsd279004j4kgzlrsk1dz4if5qxwc";
- };
+ nixpkgs.overlays = [ (self: super: rec {
+ goaccess = super.goaccess.overrideAttrs(old: rec {
configureFlags = old.configureFlags ++ [ "--enable-tcb=btree" ];
- buildInputs = old.buildInputs ++ [ pkgs.tokyocabinet pkgs.bzip2 ];
+ buildInputs = old.buildInputs ++ [ self.tokyocabinet self.bzip2 ];
});
- };
+ }) ];
services.cron = {
enable = true;
goaccess $TMPFILE --no-progress -o /var/lib/goaccess/${domain}/index.html -p ${conf}
'';
in "${d}/bin/stats-${domain}";
+ allStats = sites: pkgs.writeScript "stats" ''
+ #!${pkgs.stdenv.shell}
+
+ ${builtins.concatStringsSep "\n" (map (v: stats v.name v.conf) sites)}
+ '';
in
- pkgs.lib.lists.imap0 (i: v: "${toString (i+5)} 0 * * * root ${stats v.name v.conf}") cfg.sites;
+ [
+ "5 0 * * * root ${allStats cfg.sites}"
+ ];
};
system.activationScripts.goaccess = ''