{ 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 = "hard"; force-gamemode = true; allow-cheats = true; white-list = true; snooper-enabled = false; enforce-secure-profile = 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="; }; "mods/FabricTailor.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/g8w1NapE/versions/UDZdkBPN/fabrictailor-2.5.0.jar"; hash = "sha256-4o487RRSJAeMIjN4KL1ivru4Z3WCMrXmu5Ih2QqXHW8="; }; "mods/AppleSkin.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/EsAfCjCV/versions/fG1xJao0/appleskin-fabric-mc1.21-3.0.5.jar"; hash = "sha256-8086Mfqzc86hQFagKItgCpoZ/ylxRKy0YxV6iBPb/sw="; }; # "mods/DeeperAndDarker.jar" = pkgs.fetchurl { # url = "https://cdn.modrinth.com/data/fnAffV0n/versions/RXdwJw5B/deeperdarker-fabric-1.21-1.3.2.1.jar"; # hash = "sha256-SWJkKVlGTnKE6OOcK0ckyktsyw3D/T1Jj5NayTUshUs="; # }; # "mods/BetterNether.jar" = pkgs.fetchurl { # url = "https://cdn.modrinth.com/data/MpzVLzy5/versions/M1o6hR2m/better-nether-21.0.11.jar"; # hash = "sha256-tGCAcf9Z1Z+5NS8Td0xUI7Di6wDfIc6JhkNEBOb2dDM="; # }; # "mods/BetterEnd.jar" = pkgs.fetchurl { # url = "https://cdn.modrinth.com/data/gc8OEnCC/versions/4qhBEg6J/better-end-21.0.11.jar"; # hash = "sha256-tjANrWuS61gQAIaV5VthX3JLTQgqcRyU8NmUGheEz9Y="; # }; "mods/CreeperOverhaul.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/MI1LWe93/versions/LvGcZBEq/Creeperoverhaul-fabric-1.21-4.0.5.jar"; hash = "sha256-Pio2FnOArXMkDkhx+0BUuh+hTF6DKI24tCYOaL1zV5M="; }; "mods/GeckoLib.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/8BmcQJ2H/versions/5jcq814u/geckolib-fabric-1.21.1-4.6.5.jar"; hash = "sha256-DmnvcuQTiRJho54h40DgWQ65tjGdBOHOR3/fkBkMi+g="; }; "mods/ResourcefulLib.jar"= pkgs.fetchurl { url = "https://cdn.modrinth.com/data/G1hIVOrD/versions/Qq8o6KAr/resourcefullib-fabric-1.21-3.0.10.jar"; hash = "sha256-pGYbDpKVZ+n3Em0QrOR13i4wwh6YloOO96PqBJLJ5nI="; }; "mods/ResourcefulConfig.jar" = pkgs.fetchurl { url = "https://cdn.modrinth.com/data/M1953qlQ/versions/PfDhIaBR/resourcefulconfig-fabric-1.21-3.0.3.jar"; hash = "sha256-Gn3AEjzW8KWGIwXpqv3DL9qrPkpJGN5rQW5FllvTonk="; }; }; 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, } ''; }; }; }; }; }