diff --git a/pkgs/default.nix b/pkgs/default.nix index c63d1ab..9025ff6 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -8,4 +8,6 @@ final: prev: { nix-modrinth-prefetch = final.callPackage ./nix-modrinth-prefetch.nix { }; qtile-unstable = final.callPackage ./qtile.nix { source = final.sources.qtile; }; + + mcaselector = final.callPackage ./mcaselector.nix { }; } diff --git a/pkgs/mcaselector.nix b/pkgs/mcaselector.nix new file mode 100644 index 0000000..1407c08 --- /dev/null +++ b/pkgs/mcaselector.nix @@ -0,0 +1,42 @@ +{ stdenv +, lib +, fetchurl +, jre +, gtk3 +, makeWrapper +, wrapGAppsHook +}: + +stdenv.mkDerivation (self: rec { + pname = "mcaselector"; + version = "2.1"; + + src = fetchurl { + url = "https://github.com/Querz/mcaselector/releases/download/${version}/mcaselector-${version}.jar"; + sha256 = "sha256-6byZ3kH+iLAv2NZ2MzMvwlJ/RFNk4jl4RnT2S0Ctu90="; + }; + + dontUnpack = true; + + nativeBuildInputs = [ + gtk3 + makeWrapper + wrapGAppsHook + ]; + + installPhase = '' + mkdir -pv $out/share/java $out/bin + cp ${src} $out/share/java/${self.name}.jar + + makeWrapper ${jre}/bin/java $out/bin/mcaselector \ + --add-flags "-jar $out/share/java/${self.name}.jar" + ''; + + meta = with lib; { + homepage = "https://github.com/Querz/mcaselector"; + description = "A tool to select chunks from Minecraft worlds for deletion or export. "; + license = licenses.mit; + platforms = platforms.all; # Uses a 'universal' jar + maintainers = with maintainers; [ infinidoge ]; + }; +})