{ pkgs, inputs, ... }: { imports = [ inputs.nix-minecraft.nixosModules.minecraft-servers ]; nixpkgs.overlays = [ inputs.nix-minecraft.overlay ]; services.minecraft-servers = { enable = true; eula = true; dataDir = "/var/lib/minecraft-servers"; servers = { mmh = { enable = true; package = pkgs.fabric-server; autoStart = true; openFirewall = true; restart = "always"; serverProperties = { server-port = 11984; gamemode = "survival"; difficulty = "normal"; force-gamemode = true; allow-cheats = true; white-list = true; snooper-enabled = false; motd = "mine craft srever"; }; symlinks = { "mods/FabricAPI.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/qKPgBeHl/fabric-api-0.104.0%2B1.21.1.jar"; hash = "sha256-sa6vkKmve1/UBpFHv7i1vUxm5HViSK4S/td24tppSho="; }; "mods/Lithium.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/9x0igjLz/lithium-fabric-mc1.21.1-0.13.1.jar"; hash = "sha256-H0OFqO4sBORv2s36P3UdF/U9H0wjMviJQjCObcK2lPY="; }; "mods/FerriteCore.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/uXXizFIs/versions/wmIZ4wP4/ferritecore-7.0.0-fabric.jar"; hash = "sha256-LDEgDR9d5qPPXtxMPTkgBjbh4GDEtUjc+CSe9IdmAyM="; }; "mods/Carpet.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/TQTTVgYE/versions/f2mvlGrg/fabric-carpet-1.21-1.4.147%2Bv240613.jar"; hash = "sha256-B5/IpOBz6ySwEP/MWI5Z+TuYQUPhfY7xn7sLav8PGdk="; }; # "mods/Moonrise.jar" = pkgs.fetchurl { # url = "https://cdn.modrinth.com/data/KOHu7RCS/versions/mScVrtF3/Moonrise-Fabric-0.1.0-beta.3%2B23eddfe.jar"; # hash = "sha256-WtIM3cITtyEVabeJC2lAn2H3J9J8QaRGI4l82CxXhN0="; # }; "mods/EasyAuth.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/aZj58GfX/versions/8ZQEgc1i/easyauth-mc1.21-3.0.25.jar"; hash = "sha256-vdZ9ZD8N2I+Dckg6XIcQ6/O0dVyRi3ZF6RzIPBZPurM="; }; "mods/EasyWhitelist.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/LODybUe5/versions/4ndHE533/easywhitelist-mc1.20-rc1-1.0.1.jar"; hash = "sha256-frtzUbOO50Askwjyz+kGqZeBWB0K/xbu2Y/XTHU+7c0="; }; }; files = { "config/ferritecore.mixin.properties" = pkgs.writeText "ferritecore.mixin.properties " '' replaceNeighborLookup = false replacePropertyMap = false ''; "config/EasyAuth/config.json" = pkgs.writeText "EasyAuth.config.json" '' { "maxLoginTries": 3, "kickTime": 30, "maxPasswordChars": 48, "premiumAutologin": true, } ''; }; }; }; }; }