{ config, lib, pkgs, inputs, ... }: { options.sysconfig.opts.minecraft.enable = lib.options.mkOption { type = lib.types.bool; default = false; }; imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ]; config = lib.mkIf config.sysconfig.opts.minecraft.enable { nixpkgs.overlays = [ inputs.nix-minecraft.overlay ]; services.minecraft-servers = { enable = true; eula = true; openFirewall = true; dataDir = "/var/lib/mcservers"; servers = { vanilla = { enable = true; package = pkgs.fabricServers.fabric; serverProperties = { server-port = 25565; gamemode = "survival"; level-seed = "betterseed"; white-list = true; motd = "Didn't see that coming huh?"; }; whitelist = { "MeasureTwice66" = "a4032062-293d-484d-a790-9f52475836bb"; "651sonic" = "936a3fb0-4548-4557-975b-7794e97a3afc"; "Griffin12_" = "6a1f56d9-f712-4723-a031-e5437a389bb3"; }; autoStart = true; }; modded = { enable = true; package = pkgs.fabricServers.fabric-1_21_1; serverProperties = { server-port = 25566; gamemode = "creative"; level-seed = "portalme"; white-list = true; motd = "Let's try this again!"; }; whitelist = { "MeasureTwice66" = "a4032062-293d-484d-a790-9f52475836bb"; "651sonic" = "936a3fb0-4548-4557-975b-7794e97a3afc"; "Griffin12_" = "6a1f56d9-f712-4723-a031-e5437a389bb3"; }; autoStart = true; symlinks = { mods = ./mods; }; }; }; }; }; }