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
|
||||
./modules/generic.nix
|
||||
./modules/borg.nix
|
||||
./modules/minecraft.nix
|
||||
];
|
||||
|
||||
system.autoUpgrade = {
|
||||
allowReboot = false;
|
||||
};
|
||||
|
||||
system.stateVersion = "22.05";
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue