diff --git a/pkgs/by-name/vo/volanta/package.nix b/pkgs/by-name/vo/volanta/package.nix index 361cc6d615c4..1e6710aeea83 100644 --- a/pkgs/by-name/vo/volanta/package.nix +++ b/pkgs/by-name/vo/volanta/package.nix @@ -3,12 +3,16 @@ fetchurl, lib, makeWrapper, + writeShellScript, + common-updater-scripts, + nix-update, }: let pname = "volanta"; version = "1.12.0"; + build = "0e24f0ee"; src = fetchurl { - url = "https://cdn.volanta.app/software/volanta-app/${version}-0e24f0ee/volanta-${version}.AppImage"; + url = "https://cdn.volanta.app/software/volanta-app/${version}-${build}/volanta-${version}.AppImage"; hash = "sha256-PwBnKR0oFMJtyPxpgDGlSDmcxY9wxhp2Un6mkRJIlfI="; }; appImageContents = appimageTools.extract { inherit pname version src; }; @@ -28,6 +32,18 @@ appimageTools.wrapType2 { wrapProgram $out/bin/volanta \ --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" ''; + + passthru = { + inherit src build; + updateScript = writeShellScript "update-volanta" '' + LATEST_YML=$(curl --fail --silent https://api.volanta.app/api/v1/ClientUpdate/latest-linux.yml) + VERSION=$(echo "$LATEST_YML" | grep -E '^version:' | awk '{print $2}') + BUILD=$(echo "$LATEST_YML" | grep -E 'url: .*/volanta-app/' | sed -E 's/.*volanta-app\/[0-9.]+-([0-9a-f]+)\/.*/\1/' | head -n1) + ${lib.getExe' common-updater-scripts "update-source-version"} volanta $BUILD --version-key=build || true + ${lib.getExe nix-update} volanta --version $VERSION + ''; + }; + meta = { description = "Easy-to-use smart flight tracker that integrates all your flight data across all major flightsims"; homepage = "https://volanta.app/";