anchor.diff:    mysqldOptions =
       "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${cfg.package}";
   
  -  settingsFile = pkgs.writeText "my.cnf" (
  -    generators.toINI { listsAsDuplicateKeys = true; } cfg.settings +
  -    optionalString (cfg.extraOptions != null) "[mysqld]\n${cfg.extraOptions}"
  -  );
  +  format = pkgs.formats.ini { listsAsDuplicateKeys = true; };
  +  configFile = format.generate "my.cnf" cfg.settings;
   
   in
   
  
positive.code: 
        configFile = mkOption {
          type = types.path;
          default = settingsFile;
          defaultText = literalExpression "settingsFile";
          description = ''
            Override the configuration file used by MySQL. By default,
            NixOS generates one automatically from <option>services.mysql.settings</option>.
  
negative.code:   imports = [
      (mkRemovedOptionModule [ "services" "mysql" "pidDir" ] "Don't wait for pidfiles, describe dependencies through systemd.")
      (mkRemovedOptionModule [ "services" "mysql" "rootPassword" ] "Use socket authentication or set the password outside of the nix store.")
      (mkRemovedOptionModule [ "services" "mysql" "extraOptions" ] "Use services.mysql.settings.mysqld instead.")
    ];
  
    ###### interface
  