{lib, ...}: {
  nixpkgs.config.allowUnfreePredicate = pkg:
    builtins.elem (lib.getName pkg) [
      "minecraft-server"
    ];
  services.minecraft-server = {
    enable = true;
    declarative = true;
    eula = true;
    dataDir = "/srv/minecraft";
    openFirewall = true;
    jvmOpts = "-Xmx8192M -Xms8192M";
    whitelist = {
      ShadyCraft = "7995eea5-b648-41c4-9b0f-7fc082565952";
      Nightingale768 = "1125d077-6709-44b2-9be0-587aec772e7a";
      Sirius_Black123 = "f5f66fc5-f287-434e-a03f-2480f998e76f";
      DerDaHalt = "09c72cb7-cab9-444f-af55-616fcf93822c";
    };
    serverProperties = {
      player-idle-timeout = 30;
      white-list = true;
      difficulty = 3;
      gamemode = "survival";
      enforce-whitelist = true;
      simulation-distance = 10;
    };
  };
}