62 lines
1.1 KiB
Nix
62 lines
1.1 KiB
Nix
{
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
# Make a modpack given its mod inputs.
|
|
#
|
|
# Mods should be attrsets in this format:
|
|
# {
|
|
# project = "";
|
|
# id = "";
|
|
# filename = "";
|
|
# sha256 = "";
|
|
# }
|
|
#
|
|
# This may be nice to read from a json ;)
|
|
#
|
|
mkModpack = {
|
|
name,
|
|
version,
|
|
mods,
|
|
}:
|
|
pkgs.stdenv.mkDerivation {
|
|
inherit name version;
|
|
srcs = map pkgs.local.fetchFromCurseForge mods;
|
|
|
|
sourceRoot = "src/";
|
|
preUnpack = "mkdir -p src/";
|
|
unpackCmd = "cp $curSrc src/";
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/mods/
|
|
cp * $out/mods
|
|
'';
|
|
};
|
|
|
|
mkModpackZip = {
|
|
name,
|
|
version,
|
|
mods,
|
|
}:
|
|
pkgs.stdenv.mkDerivation {
|
|
inherit name version;
|
|
srcs = map pkgs.local.fetchFromCurseForge mods;
|
|
|
|
sourceRoot = "src/";
|
|
preUnpack = "mkdir -p src/";
|
|
unpackCmd = "cp $curSrc src/";
|
|
|
|
buildInputs = [pkgs.zip];
|
|
|
|
buildPhase = ''
|
|
zip voor-kia-mods.zip *.jar
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/
|
|
cp voor-kia-mods.zip $out/
|
|
'';
|
|
};
|
|
}
|