{ makeWrapper, stdenv, # Runtime Dependencies jre }: let # Copied from some forum thread without much thought. # Let's see if they work out. javaFlags = "-Xmx5G -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:MaxGCPauseMillis=50 -XX:+DisableExplicitGC -XX:TargetSurvivorRatio=90 -XX:G1NewSizePercent=50 -XX:G1MaxNewSizePercent=80 -XX:InitiatingHeapOccupancyPercent=10 -XX:G1MixedGCLiveThresholdPercent=50"; in stdenv.mkDerivation rec { pname = "spigot-server"; version = "1.20.1"; src = ./spigot-${version}.jar; nativeBuildInputs = [ makeWrapper ]; buildCommand = '' install -Dm644 $src $out/lib/spigot-${version}.jar makeWrapper ${jre}/bin/java $out/bin/spigot-server \ --argv0 spigot-server \ --add-flags "${javaFlags}" \ --add-flags "-jar $out/lib/spigot-${version}.jar" ''; }