]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/websites/commons/stats.nix
Upgrade to latest nixpkgs
[perso/Immae/Config/Nix.git] / nixops / modules / websites / commons / stats.nix
index b5bf0e04dc6658be784c11ebddbc6b20edfdc0ed..8d618c5cd61f73354d5b28a9feceee81f2104dc8 100644 (file)
@@ -23,18 +23,12 @@ in {
       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;
@@ -55,8 +49,15 @@ in {
             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 = ''