{ description = "Ninjabrain Bot - Minecraft speedrunning utility"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; ninjabrain-bot = pkgs.stdenv.mkDerivation { pname = "ninjabrain-bot"; version = "1.5.1"; src = pkgs.fetchurl { url = "https://github.com/Ninjabrain1/Ninjabrain-Bot/releases/download/1.5.1/Ninjabrain-Bot-1.5.1.jar"; sha256 = "sha256-Rxu9A2EiTr69fLBUImRv+RLC2LmosawIDyDPIaRcrdw="; }; dontUnpack = true; nativeBuildInputs = [ pkgs.makeWrapper ]; installPhase = '' mkdir -p $out/bin $out/share/ninjabrain-bot cp $src $out/share/ninjabrain-bot/ninjabrain-bot.jar makeWrapper ${pkgs.jre8}/bin/java $out/bin/ninjabrain-bot \ --add-flags "-Dawt.useSystemAAFontSettings=on" \ --add-flags "-jar $out/share/ninjabrain-bot/ninjabrain-bot.jar" \ --prefix LD_LIBRARY_PATH : ${pkgs.lib.makeLibraryPath [ pkgs.libxkbcommon pkgs.xorg.libX11 pkgs.xorg.libXt ]} ''; meta = with pkgs.lib; { description = "Stronghold calculator for Minecraft speedrunning"; homepage = "https://github.com/Ninjabrain1/Ninjabrain-Bot"; license = licenses.mit; platforms = platforms.linux; }; }; in { packages.default = ninjabrain-bot; apps.default = { type = "app"; program = "${ninjabrain-bot}/bin/ninjabrain-bot"; }; } ); }