54 lines
1.5 KiB
Nix
54 lines
1.5 KiB
Nix
{inputs, ...}: {
|
|
flake.nixosModules.minecraft-server = {
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: let
|
|
cfg = config.hive.minecraft-server;
|
|
|
|
modpack = pkgs.callPackage ./_loadCurseForge.nix {
|
|
url = "https://mediafilez.forgecdn.net/files/7765/203/BMC3_Server_Pack_v44.zip";
|
|
hash = "sha256-doqPzo9fhYM9ng/3RO6OPqhKA2ibfoaKx3Es7M0lpuU=";
|
|
};
|
|
|
|
mcVersion = modpack.variables.MINECRAFT_VERSION;
|
|
loader = lib.toLower modpack.variables.MODLOADER;
|
|
loaderVersion = modpack.variables.MODLOADER_VERSION;
|
|
serverVersion = lib.replaceStrings ["."] ["_"] "${loader}-${mcVersion}";
|
|
in {
|
|
options.hive.minecraft-server = {
|
|
enable = lib.mkEnableOption "Enable BMC3 server";
|
|
};
|
|
|
|
imports = [
|
|
inputs.nix-minecraft.nixosModules.minecraft-servers
|
|
];
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
nixpkgs.overlays = [
|
|
inputs.nix-minecraft.overlay
|
|
];
|
|
services.minecraft-servers = {
|
|
enable = true;
|
|
eula = true;
|
|
openFirewall = true;
|
|
|
|
servers.bmc3 = lib.optionalAttrs cfg.enable {
|
|
enable = true;
|
|
autoStart = false;
|
|
package = pkgs."${loader}Servers".${serverVersion}.override {inherit loaderVersion;};
|
|
jvmOpts = modpack.variables.JAVA_ARGS;
|
|
symlinks = {
|
|
"mods" = "${modpack.root}/mods";
|
|
};
|
|
serverProperties = {
|
|
motd = "Woher kommt der Stein?";
|
|
white-list = true;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|