diff --git a/pkgs/games/lunar-client/default.nix b/pkgs/by-name/lu/lunar-client/package.nix similarity index 90% rename from pkgs/games/lunar-client/default.nix rename to pkgs/by-name/lu/lunar-client/package.nix index 042259fcfae2..1506e5c0cb64 100644 --- a/pkgs/games/lunar-client/default.nix +++ b/pkgs/by-name/lu/lunar-client/package.nix @@ -10,7 +10,7 @@ let src = fetchurl { url = "https://launcherupdates.lunarclientcdn.com/Lunar%20Client-${version}.AppImage"; - hash = "sha256-6OAGNkMyHOZI5wh92OtalnvUVFWNAS9PvkFS0e4YXhk="; + hash = "sha512-YUddAvsPbuuOvhJZsWDvgF/7yghABU6Av7DcKNX1bKZqE3BzMAAQADJuNuNL4+UydoTaHetXvRO8oJCbrqgtAQ=="; }; appimageContents = appimageTools.extract { inherit pname version src; }; @@ -30,6 +30,8 @@ appimageTools.wrapType2 rec { --replace 'Icon=launcher' 'Icon=lunar-client' ''; + passthru.updateScript = ./update.sh; + meta = with lib; { description = "Free Minecraft client with mods, cosmetics, and performance boost."; homepage = "https://www.lunarclient.com/"; diff --git a/pkgs/by-name/lu/lunar-client/update.sh b/pkgs/by-name/lu/lunar-client/update.sh new file mode 100755 index 000000000000..aa0adbff2b29 --- /dev/null +++ b/pkgs/by-name/lu/lunar-client/update.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl yq +set -eu -o pipefail + +target="$(dirname "$(readlink -f "$0")")/package.nix" +host="https://launcherupdates.lunarclientcdn.com" +metadata=$(curl "$host/latest-linux.yml") +version=$(echo "$metadata" | yq .version -r) +sha512=$(echo "$metadata" | yq .sha512 -r) + +sed -i "s@version = .*;@version = \"$version\";@g" "$target" +sed -i "s@hash.* = .*;@hash = \"sha512-$sha512\";@g" "$target" diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c4d2cf92017..3d7270108197 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -37448,8 +37448,6 @@ with pkgs; ltris = callPackage ../games/lgames/ltris { }; - lunar-client = callPackage ../games/lunar-client { }; - maelstrom = callPackage ../games/maelstrom { }; mar1d = callPackage ../games/mar1d { } ;