{
  inputs,
  config,
  lib,
  pkgs,
  system,
  ...
}:
let
  cfg = config.services.minecraft;
in
{
  config = lib.mkIf (cfg.enable && (cfg.servers.velocity.enable || cfg.servers.survival.enable)) {
    services.mysql = {
      package = pkgs.mariadb;
      enable = true;
      settings.mysqld.port = 3459;
    };
    sops.secrets."minecraft/database/luckperms_password" = { sopsFile = ./secrets.yaml; };
    sops.templates."minecraft/database/database-init.sql".content = ''
      CREATE DATABASE 'luckperms';
      CREATE USER 'luckperms'@'localhost';
      GRANT ALL PRIVILEGES ON luckperms.* TO 'luckperms'@'localhost' IDENTIFIED BY '${config.sops.placeholder."minecraft/database/luckperms_password"}';
    '';
    # services.mysqlBackup.databases = [ "luckperms" ]; # Add Luckperms Database to Backups
  };
}