nixos/modules/server/game/minecraft/default.nix

45 lines
1.5 KiB
Nix
Raw Normal View History

2025-01-07 18:51:53 +04:00
{ config, lib, inputs, pkgs, ... }:
with lib;
let cfg = config.void.server.game.minecraft;
in {
2025-01-07 19:00:31 +04:00
imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ];
2025-01-07 19:21:41 +04:00
nixpkgs = {
overlays = [ inputs.nix-minecraft.overlay ];
config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkgs) [ "minecraft-server" ];
};
2025-01-07 18:58:00 +04:00
options.void.server.game.minecraft = { enable = mkEnableOption false; };
2025-01-07 18:51:53 +04:00
config = mkIf cfg.enable {
2025-01-07 19:19:24 +04:00
# services = {
2025-01-07 19:20:16 +04:00
services.minecraft-servers.servers.wires =
2025-01-07 19:19:24 +04:00
let modpack = pkgs.fetchPackwizModpack { url = ./sakopack; };
in {
enable = true;
# HAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAHHAAHAHHAHAHAHAHAHAHAHAHAHAHAHAHAHAHAH
eula = true;
openFirewall = true;
package = pkgs.fabricServers.fabric-1_20_4.override {
loaderVersion = "0.16.9";
2025-01-07 18:51:53 +04:00
};
2025-01-07 19:19:24 +04:00
whitelist = { Sakoooo = "6b05caca-3d78-4597-aba5-d0f816f94024"; };
serverProperties = {
white-list = true;
difficulty = "normal";
server-port = 25568;
gamemode = "survival";
};
symlinks = { "mods" = "${modpack}/mods"; };
# files = {
# "config" = "${modpack}/config";
# "config/mod1.yml" = "${modpack}/config/mod1.yml";
# "config/mod2.conf" = "${modpack}/config/mod2.conf";
# # You can add files not on the modpack, of course
# "config/server-specific.conf".value = { example = "foo-bar"; };
# };
# };
};
2025-01-07 18:51:53 +04:00
};
}