From aadba1a2b4d20252aa7b12e52a0db528f3b6b6e8 Mon Sep 17 00:00:00 2001 From: fe2-Nyxar Date: Mon, 1 Jun 2026 12:52:57 +0100 Subject: [PATCH 1/5] maintainers: add nyxar77 (cherry picked from commit 606be03450fc8e959444ca29d53f041f95d9eeb1) --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 2d96085990d9..17da335402a2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -20417,6 +20417,12 @@ email = "nyu@nyuku.ru"; githubId = 97425873; }; + nyxar77 = { + name = "nyxar77"; + github = "nyxar77"; + email = "dev@nyxar.space"; + githubId = 153492661; + }; nyxonios = { name = "nyxonios"; github = "Nyxonios"; From 3751d1e7246d6fe921ac5a883b373d6cc53ccaeb Mon Sep 17 00:00:00 2001 From: fe2-Nyxar Date: Sat, 13 Jun 2026 10:21:58 +0100 Subject: [PATCH 2/5] ninjabrain-bot: init at 1.5.2 (cherry picked from commit cc55273de48531798635c313aea9714560fb9fd5) --- pkgs/by-name/ni/ninjabrain-bot/package.nix | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 pkgs/by-name/ni/ninjabrain-bot/package.nix diff --git a/pkgs/by-name/ni/ninjabrain-bot/package.nix b/pkgs/by-name/ni/ninjabrain-bot/package.nix new file mode 100644 index 000000000000..655bedd3eb0b --- /dev/null +++ b/pkgs/by-name/ni/ninjabrain-bot/package.nix @@ -0,0 +1,122 @@ +{ + lib, + stdenv, + fetchFromGitHub, + maven, + makeWrapper, + copyDesktopItems, + makeDesktopItem, + jre, + libxkbcommon, + libx11, + libxcb, + libxinerama, + libxt, + libxtst, + nix-update-script, +}: +let + linuxNativeLibraries = [ + libxkbcommon + libx11 + libxcb + libxinerama + libxt + libxtst + ]; +in +maven.buildMavenPackage (finalAttrs: { + pname = "ninjabrain-bot"; + version = "1.5.2"; + + src = fetchFromGitHub { + owner = "Ninjabrain1"; + repo = "Ninjabrain-Bot"; + tag = finalAttrs.version; + hash = "sha256-uOUPho4UCZxeTtCU4XHJsTR6HuXAnKXd3jk/tSRd4Yc="; + }; + strictDeps = true; + __structuredAttrs = true; + + # CI=true skips upstream display-dependent tests; the rest of the suite still runs. + env.CI = "true"; + + mvnFetchExtraArgs = { + env.CI = "true"; + }; + + mvnParameters = "assembly:single"; + mvnHash = "sha256-EZqijVMLPsZJUZA6pLL1Z5HqSeXSFo82XYRIazVweYw="; + + nativeBuildInputs = [ + makeWrapper + copyDesktopItems + ]; + + installPhase = '' + runHook preInstall + + install -Dm444 target/ninjabrainbot-${finalAttrs.version}-jar-with-dependencies.jar $out/share/java/ninjabrain-bot.jar + + install -Dm644 src/main/resources/icon.png $out/share/icons/hicolor/640x640/apps/ninjabrain-bot.png + + # Swing text rendering varies outside full desktop environments. + makeWrapperArgs=( + --add-flags "-Dawt.useSystemAAFontSettings=on" + --add-flags "-Dswing.aatext=true" + --add-flags "-jar $out/share/java/ninjabrain-bot.jar" + ) + + ${lib.optionalString stdenv.hostPlatform.isLinux '' + makeWrapperArgs+=( + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath linuxNativeLibraries} + ) + ''} + + makeWrapper ${lib.getExe jre} $out/bin/ninjabrain-bot "''${makeWrapperArgs[@]}" + + runHook postInstall + ''; + + desktopItems = [ + (makeDesktopItem { + name = "ninjabrain-bot"; + desktopName = "Ninjabrain Bot"; + comment = "Stronghold calculator for Minecraft speedrunning"; + type = "Application"; + exec = "ninjabrain-bot"; + icon = "ninjabrain-bot"; + categories = [ + "Game" + "Utility" + ]; + keywords = [ + "minecraft" + "speedrun" + "stronghold" + "mcsr" + ]; + }) + ]; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Stronghold calculator for Minecraft speedrunning"; + homepage = "https://github.com/Ninjabrain1/Ninjabrain-Bot"; + changelog = "https://github.com/Ninjabrain1/Ninjabrain-Bot/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ + nyxar77 + Misaka13514 + ]; + mainProgram = "ninjabrain-bot"; + # Match platforms with bundled JNativeHook libraries and JRE support + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + }; +}) From f4ecb901e84aa007d086427ce05f23312d0ad325 Mon Sep 17 00:00:00 2001 From: fe2-Nyxar Date: Mon, 31 Aug 2026 13:50:57 +0100 Subject: [PATCH 3/5] ninjabrain-bot: fix icon lookup Co-authored-by: Rine Amakawa (cherry picked from commit 5e89b200f9ee660abaab1097b7d7f194edd69c45) --- pkgs/by-name/ni/ninjabrain-bot/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ni/ninjabrain-bot/package.nix b/pkgs/by-name/ni/ninjabrain-bot/package.nix index 655bedd3eb0b..3935ba287790 100644 --- a/pkgs/by-name/ni/ninjabrain-bot/package.nix +++ b/pkgs/by-name/ni/ninjabrain-bot/package.nix @@ -58,6 +58,7 @@ maven.buildMavenPackage (finalAttrs: { install -Dm444 target/ninjabrainbot-${finalAttrs.version}-jar-with-dependencies.jar $out/share/java/ninjabrain-bot.jar + install -Dm644 src/main/resources/icon.png $out/share/icons/hicolor/512x512/apps/ninjabrain-bot.png install -Dm644 src/main/resources/icon.png $out/share/icons/hicolor/640x640/apps/ninjabrain-bot.png # Swing text rendering varies outside full desktop environments. From b770796e35221e54a3300a8c158c59a802678f3e Mon Sep 17 00:00:00 2001 From: uku Date: Thu, 17 Sep 2026 14:07:30 +0200 Subject: [PATCH 4/5] ninjabrain-bot: fix hash for 26.05 Not-cherry-picked-because: the differences in Maven version between 26.05 (3.9.12) and unstable (3.9.16 at the time of writing) change what plugin versions are resolved at build time (eg. maven-resources-plugin), which therefore causes a hash mismatch. --- pkgs/by-name/ni/ninjabrain-bot/package.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/by-name/ni/ninjabrain-bot/package.nix b/pkgs/by-name/ni/ninjabrain-bot/package.nix index 3935ba287790..4b6f7470286c 100644 --- a/pkgs/by-name/ni/ninjabrain-bot/package.nix +++ b/pkgs/by-name/ni/ninjabrain-bot/package.nix @@ -46,7 +46,7 @@ maven.buildMavenPackage (finalAttrs: { }; mvnParameters = "assembly:single"; - mvnHash = "sha256-EZqijVMLPsZJUZA6pLL1Z5HqSeXSFo82XYRIazVweYw="; + mvnHash = "sha256-50pjURUJ5hAq8qNOdPd0SGWc6U0bZ79V5hoPVg02JG0="; nativeBuildInputs = [ makeWrapper From 5857c33329cf3c98f4bdbe55999711cb4164e5a4 Mon Sep 17 00:00:00 2001 From: uku Date: Sat, 19 Sep 2026 11:59:06 +0200 Subject: [PATCH 5/5] ninjabrain-bot: force swing look&feel NBB struggles to launch and crashes at random when using the nixpkgs openjdk, which seems to be caused by the GTK look&feel. Forcing it to default to `MetalLookAndFeel` avoids those issues. (cherry picked from commit a055eebe54c7ab2119c971360f8145ac54a1c707) --- pkgs/by-name/ni/ninjabrain-bot/package.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/by-name/ni/ninjabrain-bot/package.nix b/pkgs/by-name/ni/ninjabrain-bot/package.nix index 4b6f7470286c..7c76f248c7d4 100644 --- a/pkgs/by-name/ni/ninjabrain-bot/package.nix +++ b/pkgs/by-name/ni/ninjabrain-bot/package.nix @@ -65,6 +65,7 @@ maven.buildMavenPackage (finalAttrs: { makeWrapperArgs=( --add-flags "-Dawt.useSystemAAFontSettings=on" --add-flags "-Dswing.aatext=true" + --add-flags "-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel" --add-flags "-jar $out/share/java/ninjabrain-bot.jar" )