79 lines
2.0 KiB
Nix
79 lines
2.0 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchurl,
|
|
makeWrapper,
|
|
bash,
|
|
curl,
|
|
wget,
|
|
xorg,
|
|
host,
|
|
}:
|
|
stdenv.mkDerivation {
|
|
pname = "crystal-launcher";
|
|
version = "1.0.0"; # możesz zaktualizować wersję, jeśli ją znasz
|
|
|
|
src = fetchurl {
|
|
url = "https://launcher.crystal-launcher.net/linux/launcher.tar.xz";
|
|
sha256 = "sha256-NkngV1nH5oYP7wRUAuDylRkne0Q65FmHn0mnlibjV0c="; # uzupełnij po pierwszym uruchomieniu - Nix podpowie prawidłowy hash
|
|
};
|
|
|
|
icon = fetchurl {
|
|
url = "https://launcher.crystal-launcher.net/linux/icon.png";
|
|
sha256 = "sha256-IU9PEut3LSzpRXI6t7Emsfs+eMAJ9BMtaw+Y6iJwqww="; # uzupełnij po pierwszym uruchomieniu - Nix podpowie prawidłowy hash
|
|
};
|
|
|
|
nativeBuildInputs = [makeWrapper];
|
|
buildInputs = [bash wget curl xorg.xrdb];
|
|
|
|
dontUnpack = true;
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
mkdir -p $out/share/applications
|
|
mkdir -p $out/share/crystal-launcher/pybootstrap
|
|
|
|
# Rozpakuj archiwum
|
|
tar -xf $src -C $out/share/crystal-launcher/pybootstrap
|
|
|
|
# Skopiuj ikonę
|
|
cp $icon $out/share/crystal-launcher/pybootstrap/icon.png
|
|
|
|
# Utwórz skrypt uruchamiający
|
|
cat > $out/bin/crystal-launcher << EOF
|
|
#!/bin/sh
|
|
|
|
# manjaro fix
|
|
xrdb -load /dev/null
|
|
xrdb -query
|
|
|
|
cd $out/share/crystal-launcher && ./pybootstrap/launcher
|
|
EOF
|
|
|
|
chmod +x $out/bin/crystal-launcher
|
|
|
|
# Utwórz plik .desktop
|
|
cat > $out/share/applications/CrystalLauncher.desktop << EOF
|
|
[Desktop Entry]
|
|
Name=Crystal Launcher
|
|
GenericName=CrystalLauncher
|
|
Comment=A Minecraft modpack launcher
|
|
Exec=$out/bin/crystal-launcher
|
|
Icon=$out/share/crystal-launcher/pybootstrap/icon.png
|
|
Terminal=false
|
|
Type=Application
|
|
Categories=Game;
|
|
EOF
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "A Minecraft modpack launcher";
|
|
homepage = "https://launcher.crystal-launcher.net/";
|
|
license = licenses.unfree; # dostosuj do właściwej licencji
|
|
platforms = platforms.linux;
|
|
maintainers = with maintainers; [
|
|
host
|
|
];
|
|
};
|
|
}
|