{ 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/ ''; }; }