]> git.immae.eu Git - perso/Immae/Config/Nix.git/blobdiff - nixops/modules/databases/mysql.nix
Migrate packageOverrides to overlays
[perso/Immae/Config/Nix.git] / nixops / modules / databases / mysql.nix
index acf47509d573be234a135c6d881727a7716b59be..635f212c2d49a48ccb62d06d1376ca0281162a62 100644 (file)
@@ -14,13 +14,13 @@ in {
   };
 
   config = lib.mkIf cfg.enable {
-    nixpkgs.config.packageOverrides = oldpkgs: rec {
+    nixpkgs.overlays = [ (self: super: rec {
       mariadb = mariadbPAM;
-      mariadbPAM = oldpkgs.mariadb.overrideAttrs(old: rec {
+      mariadbPAM = super.mariadb.overrideAttrs(old: rec {
         cmakeFlags = old.cmakeFlags ++ [ "-DWITH_AUTHENTICATION_PAM=ON" ];
-        buildInputs = old.buildInputs ++ [ pkgs.pam ];
+        buildInputs = old.buildInputs ++ [ self.pam ];
       });
-    };
+    }) ];
 
     networking.firewall.allowedTCPPorts = [ 3306 ];
 
@@ -51,6 +51,21 @@ in {
       '';
     };
 
+    services.cron = {
+      enable = true;
+      systemCronJobs = let
+        mycnf = pkgs.writeText "my.cnf" ''
+          [mysqldump]
+          user = root
+          password = ${myconfig.env.databases.mysql.systemUsers.root}
+          '';
+      in [
+        ''
+          30 1,13 * * * root ${pkgs.mariadb}/bin/mysqldump --defaults-file=${mycnf} --all-databases > /var/lib/mysql/backup.sql
+        ''
+      ];
+    };
+
     security.pam.services = let
       pam_ldap = "${pkgs.pam_ldap}/lib/security/pam_ldap.so";
       pam_ldap_mysql = with myconfig.env.databases.mysql.pam;