diff --git a/pkgs/by-name/mc/mcaselector/package.nix b/pkgs/by-name/mc/mcaselector/package.nix index 12fe6b32bbfb..81ca0abfa0f9 100644 --- a/pkgs/by-name/mc/mcaselector/package.nix +++ b/pkgs/by-name/mc/mcaselector/package.nix @@ -3,17 +3,26 @@ stdenvNoCC, fetchurl, makeWrapper, + makeDesktopItem, + copyDesktopItems, wrapGAppsHook3, jre, }: let + version = "2.8"; + jre' = jre.override { enableJavaFX = true; }; + + icon = fetchurl { + url = "https://github.com/Querz/mcaselector/raw/${version}/installer/linux/icon.png"; + hash = "sha256-nUHTxFHKhp//AL3/B43iXPmp/gcCQPgrEqGAV23U/Vs="; + }; in stdenvNoCC.mkDerivation (finalAttrs: { pname = "mcaselector"; - version = "2.8"; + inherit version; src = fetchurl { url = "https://github.com/Querz/mcaselector/releases/download/${finalAttrs.version}/mcaselector-${finalAttrs.version}.jar"; @@ -27,6 +36,22 @@ stdenvNoCC.mkDerivation (finalAttrs: { jre' makeWrapper wrapGAppsHook3 + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "mcaselector"; + desktopName = "MCA Selector"; + comment = "Select, edit, and export chunks of your Minecraft world"; + exec = "mcaselector"; + icon = "mcaselector"; + categories = [ + "Game" + "Java" + ]; + startupWMClass = "net.querz.mcaselector.ui.Window"; + }) ]; dontWrapGApps = true; @@ -34,8 +59,9 @@ stdenvNoCC.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall - mkdir -p $out/{bin,lib/mcaselector} + mkdir -p $out/{bin,lib/mcaselector,share/icons/hicolor/512x512/apps} cp $src $out/lib/mcaselector/mcaselector.jar + cp ${icon} $out/share/icons/hicolor/512x512/apps/mcaselector.png runHook postInstall '';