added minecraft fabric
This commit is contained in:
parent
f3e6b43b42
commit
42b5599a6b
3 changed files with 67 additions and 0 deletions
25
modules/minecraft.nix
Normal file
25
modules/minecraft.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{ pkgs, lib, ... }:
|
||||||
|
let
|
||||||
|
fabric_url = "https://meta.fabricmc.net/v2/versions/loader/1.19.2/0.14.9/0.11.1/server/jar";
|
||||||
|
hash = "sha1-6HYd89yETGaRE6lMqHi/PHT+wMQ=";
|
||||||
|
version = "1.19.2";
|
||||||
|
javaVersion = "17";
|
||||||
|
in
|
||||||
|
|
||||||
|
{
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "minecraft-server" ]; #allow single unfree package
|
||||||
|
|
||||||
|
services.minecraft-server = {
|
||||||
|
enable = true;
|
||||||
|
eula = true;
|
||||||
|
package = pkgs.callPackage ../packages/minecraft/derivation.nix { sha1=hash; url=fabric_url; version=version; };
|
||||||
|
openFirewall = true;
|
||||||
|
jvmOpts = "-Xms4096M -Xmx4096M -XX:+UseG1GC -XX:ParallelGCThreads=2 -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.mcrcon ];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim: set et ts=2 sw=2 ai:
|
||||||
37
packages/minecraft/derivation.nix
Normal file
37
packages/minecraft/derivation.nix
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
{ lib, stdenv, fetchurl, nixosTests, jre_headless, version, url, sha1 }:
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "minecraft-server";
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = fetchurl { inherit url sha1; };
|
||||||
|
|
||||||
|
preferLocalBuild = true;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin $out/lib/minecraft
|
||||||
|
cp -v $src $out/lib/minecraft/server.jar
|
||||||
|
|
||||||
|
cat > $out/bin/minecraft-server << EOF
|
||||||
|
#!/bin/sh
|
||||||
|
exec ${jre_headless}/bin/java \$@ -jar $out/lib/minecraft/server.jar nogui
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x $out/bin/minecraft-server
|
||||||
|
'';
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
passthru = {
|
||||||
|
tests = { inherit (nixosTests) minecraft-server; };
|
||||||
|
updateScript = ./update.py;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Minecraft Server";
|
||||||
|
homepage = "https://minecraft.net";
|
||||||
|
sourceProvenance = with sourceTypes; [ binaryBytecode ];
|
||||||
|
license = licenses.unfreeRedistributable;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ thoughtpolice tomberek costrouc jyooru ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -5,8 +5,13 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./modules/generic.nix
|
./modules/generic.nix
|
||||||
./modules/borg.nix
|
./modules/borg.nix
|
||||||
|
./modules/minecraft.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
system.autoUpgrade = {
|
||||||
|
allowReboot = false;
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "22.05";
|
system.stateVersion = "22.05";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue