diff --git a/nixosConfigurations/astora/users.nix b/nixosConfigurations/astora/users.nix index e571d72..c7bef13 100644 --- a/nixosConfigurations/astora/users.nix +++ b/nixosConfigurations/astora/users.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ config, pkgs, lib, inputs, self, ... }: { # Users users.users.nafaryus = { @@ -69,6 +69,9 @@ onlyoffice-bin anydesk + + jdk + self.packages.${pkgs.system}.ultimmc ]; xdg.enable = true; diff --git a/packages/default.nix b/packages/default.nix index 7f7dfe4..06a3cc8 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -18,4 +18,6 @@ in forAllSystems(system: let pkgs = nixpkgsFor.${system}; in { spoofdpi = pkgs.callPackage ./spoofdpi {}; lego = pkgs.callPackage ./lego {}; + + ultimmc = pkgs.libsForQt5.callPackage ./ultimmc {}; }) diff --git a/packages/ultimmc/default.nix b/packages/ultimmc/default.nix new file mode 100644 index 0000000..5e3b4c8 --- /dev/null +++ b/packages/ultimmc/default.nix @@ -0,0 +1,73 @@ +{ + lib, stdenv, + fetchFromGitHub, wrapQtAppsHook, + extra-cmake-modules, cmake, + file, jdk17, + copyDesktopItems, makeDesktopItem, + xorg, libpulseaudio, libGL +}: +stdenv.mkDerivation rec { + version = "faf3c966c43465d6f6c245ed78556222240398ee"; + pname = "ultimmc"; + + src = fetchFromGitHub { + fetchSubmodules = true; + owner = "UltimMC"; + repo = "Launcher"; + rev = "faf3c966c43465d6f6c245ed78556222240398ee"; + sha256 = "sha256-/+cYbAzf84PrgzJHUsc3tVU9E+mDMtx5eGEJK9ZBM2w="; + }; + + nativeBuildInputs = [ + wrapQtAppsHook + extra-cmake-modules + cmake + file + jdk17 + copyDesktopItems + ]; + + desktopItems = [ + (makeDesktopItem { + name = "ultimmc"; + desktopName = "UltimMC"; + icon = "ultimmc"; + comment = "Cracked Minecraft launcher"; + exec = "UltimMC %u"; + categories = [ "Game" ]; + }) + ]; + + cmakeFlags = [ "-DLauncher_LAYOUT=lin-nodeps" ]; + + postInstall = let + libpath = with xorg; lib.makeLibraryPath [ + libX11 + libXext + libXcursor + libXrandr + libXxf86vm + libpulseaudio + libGL + ]; + in '' + install -Dm0644 ${src}/notsecrets/logo.svg $out/share/icons/hicolor/scalable/apps/ultimmc.svg + + chmod -x $out/bin/*.so + wrapProgram $out/bin/UltimMC \ + "''${qtWrapperArgs[@]}" \ + --set GAME_LIBRARY_PATH /run/opengl-driver/lib:${libpath} \ + --prefix PATH : ${lib.makeBinPath [xorg.xrandr]} \ + --add-flags '-d ~/.local/share/ultimmc' + + rm $out/UltimMC + ''; + + meta = with lib; { + homepage = "https://github.com/UltimMC/Launcher"; + description = "Cracked Minecraft Launcher"; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [] ; + }; +}