Completed modpack flake

This commit is contained in:
Jan-Bulthuis 2025-05-18 05:23:30 +02:00
parent ac24d5aa95
commit 0f267e798f
2 changed files with 59 additions and 2 deletions

View File

@ -11,5 +11,8 @@
inputs.nix-modpack (system: {
packUrl = "https://git.bulthuis.dev/Jan/Modpack/raw/branch/main/pack.toml";
server = inputs.nix-minecraft.legacyPackages.${system}.neoForgeServers.neoforge-21_1_172;
clientGameVersion = "1.21.1";
clientLoaderUid = "net.neoforged";
clientLoaderVersion = "21.1.172";
});
}

View File

@ -19,11 +19,65 @@ let
buildInfo = builder pkgs.system;
in
lib.trace buildInfo {
rec {
default = server;
server = pkgs.writeShellScriptBin "minecraft-server" ''
${lib.getExe pkgs.jre} -jar ${bootstrap} -g -s server ${buildInfo.packUrl}
# ${buildInfo.server}/bin/minecraft-server
${buildInfo.server}/bin/minecraft-server
'';
client = pkgs.stdenvNoCC.mkDerivation {
name = "minecraft-client";
dontUnpack = true;
mmcpack = ''
{
"components": [
{
"important": true,
"uid": "net.minecraft",
"version": "${buildInfo.clientGameVersion}"
},
{
"uid": "${buildInfo.clientLoaderUid}",
"version": "${buildInfo.clientLoaderVersion}"
}
],
"formatVersion": 1
}
'';
instancecfg = pkgs.writeText "instance.cfg" ''
[General]
ConfigVersion=1.2
InstanceType=OneSix
OverrideCommands=true
PreLaunchCommand=\"$INST_JAVA\" -jar packwiz-installer-bootstrap.jar ${buildInfo.packUrl}
'';
buildPhase = ''
# Remove env-vars
rm env-vars
# Add the mmc-pack
echo $mmcpack > ./mmc-pack.json
# Add the instance-cfg
cp $instancecfg ./instance.cfg
# Add the bootstrap jar
mkdir ./minecraft
cp ${bootstrap} ./minecraft/packwiz-installer-bootstrap.jar
# Zip everything together
${pkgs.zip}/bin/zip -r modpack.zip ./*
'';
installPhase = ''
mkdir $out
mv modpack.zip $out/
'';
};
};
overlay = final: prev: mkPackages prev;