Modpack/nix-modpack/lib/default.nix

44 lines
1.1 KiB
Nix
Raw Normal View History

2025-05-18 04:27:57 +02:00
{ nixpkgs, ... }:
2025-05-18 03:55:41 +02:00
let
2025-05-18 04:27:57 +02:00
lib = nixpkgs.lib;
eachSystem =
fn: lib.genAttrs lib.systems.flakeExposed (system: fn (import nixpkgs { inherit system; }));
2025-05-18 03:55:41 +02:00
mkModpack =
2025-05-18 04:27:57 +02:00
builder:
2025-05-18 03:55:41 +02:00
let
2025-05-18 04:27:57 +02:00
mkPackages =
pkgs:
let
bootstrap = pkgs.fetchurl {
url = "https://github.com/packwiz/packwiz-installer-bootstrap/releases/download/v0.0.3/packwiz-installer-bootstrap.jar";
sha256 = "qPuyTcYEJ46X9GiOgtPZGjGLmO/AjV2/y8vKtkQ9EWw=";
};
2025-05-18 03:55:41 +02:00
2025-05-18 04:27:57 +02:00
buildInfo = builder pkgs.system;
in
lib.trace buildInfo {
server = pkgs.writeShellScriptBin "minecraft-server" ''
${lib.getExe pkgs.jre} -jar ${bootstrap} -g -s server ${buildInfo.packUrl}
# ${buildInfo.server}/bin/minecraft-server
'';
2025-05-18 03:55:41 +02:00
};
overlay = final: prev: mkPackages prev;
in
{
inherit overlay;
packages = eachSystem mkPackages;
devShells = eachSystem (pkgs: {
default = pkgs.mkShell {
buildInputs = with pkgs; [
packwiz
];
};
});
};
in
mkModpack