From 2bb9b781ccd19acba6270f26d85a90346aecc48f Mon Sep 17 00:00:00 2001 From: Kamil Monicz Date: Tue, 18 Nov 2025 18:17:18 +0000 Subject: [PATCH] antigravity: init at 1.11.2-6251250307170304 --- pkgs/by-name/an/antigravity/package.nix | 62 +++++++++++++++++ pkgs/by-name/an/antigravity/sources.json | 18 +++++ pkgs/by-name/an/antigravity/update.sh | 84 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++ 4 files changed, 170 insertions(+) create mode 100644 pkgs/by-name/an/antigravity/package.nix create mode 100644 pkgs/by-name/an/antigravity/sources.json create mode 100755 pkgs/by-name/an/antigravity/update.sh diff --git a/pkgs/by-name/an/antigravity/package.nix b/pkgs/by-name/an/antigravity/package.nix new file mode 100644 index 000000000000..6326a37f26ab --- /dev/null +++ b/pkgs/by-name/an/antigravity/package.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenv, + callPackage, + vscode-generic, + fetchurl, + commandLineArgs ? "", + useVSCodeRipgrep ? stdenv.hostPlatform.isDarwin, +}: + +let + inherit (stdenv) hostPlatform; + + sources = + (lib.importJSON ./sources.json)."${hostPlatform.system}" + or (throw "antigravity: unsupported system ${hostPlatform.system}"); + + version = "1.11.2-6251250307170304"; + vscodeVersion = "1.104.0"; +in +callPackage vscode-generic { + inherit + commandLineArgs + useVSCodeRipgrep + version + vscodeVersion + ; + + pname = "antigravity"; + + executableName = "antigravity"; + longName = "Google Antigravity"; + shortName = "Antigravity"; + libraryName = "antigravity"; + iconName = "antigravity"; + + src = fetchurl { + inherit (sources) url hash; + }; + + sourceRoot = if hostPlatform.isDarwin then "Antigravity.app" else "Antigravity"; + + tests = { }; + updateScript = ./update.sh; + + meta = { + mainProgram = "antigravity"; + description = "Agentic development platform, evolving the IDE into the agent-first era"; + homepage = "https://antigravity.google"; + downloadPage = "https://antigravity.google/download"; + changelog = "https://antigravity.google/changelog"; + license = lib.licenses.unfree; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + platforms = [ + "x86_64-linux" + "aarch64-linux" + "x86_64-darwin" + "aarch64-darwin" + ]; + maintainers = with lib.maintainers; [ Zaczero ]; + }; +} diff --git a/pkgs/by-name/an/antigravity/sources.json b/pkgs/by-name/an/antigravity/sources.json new file mode 100644 index 000000000000..8e6d19778941 --- /dev/null +++ b/pkgs/by-name/an/antigravity/sources.json @@ -0,0 +1,18 @@ +{ + "x86_64-linux": { + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.11.2-6251250307170304/linux-x64/Antigravity.tar.gz", + "hash": "sha256-0bERWudsJ1w3bqZg4eTS3CDrPnLWogawllBblEpfZLc=" + }, + "aarch64-linux": { + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.11.2-6251250307170304/linux-arm/Antigravity.tar.gz", + "hash": "sha256-UBVxx05mKcqdAy0Usc4heGCJ/UtK86+RSsQzgkngpx4=" + }, + "x86_64-darwin": { + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.11.2-6251250307170304/darwin-x64/Antigravity.zip", + "hash": "sha256-jrAUYtxPJqukW+SZK9oLFF0ewhDGOmJyV4ryflnyO+8=" + }, + "aarch64-darwin": { + "url": "https://edgedl.me.gvt1.com/edgedl/release2/j0qc3/antigravity/stable/1.11.2-6251250307170304/darwin-arm/Antigravity.zip", + "hash": "sha256-ZYlO1lZGQgTvbXgLTbEmh4A3HuCFgKTgWJfkMNyh4hw=" + } +} diff --git a/pkgs/by-name/an/antigravity/update.sh b/pkgs/by-name/an/antigravity/update.sh new file mode 100755 index 000000000000..d717bbee95aa --- /dev/null +++ b/pkgs/by-name/an/antigravity/update.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p curl gnugrep gnused jq +# shellcheck shell=bash + +set -euo pipefail + +SCRIPT_DIR="$(dirname "$(readlink -f "$0")")" +PACKAGE_NIX="${SCRIPT_DIR}/package.nix" +SOURCES_JSON="${SCRIPT_DIR}/sources.json" +DOWNLOAD_PAGE_URL="https://antigravity.google/download/linux" + +# Fetch download page +page=$(curl -fsSL --compressed "$DOWNLOAD_PAGE_URL") +script_name=$(printf '%s\n' "$page" | grep -o 'main-[a-zA-Z0-9]*\.js' | head -n 1) +js_content=$(curl -fsSL --compressed "https://antigravity.google/$script_name") + +# Extract Linux x86_64 URL +linux_x86_64_url=$( + printf '%s\n' "$js_content" \ + | grep -o 'https://[^"]*/linux-x64/Antigravity.tar.gz' \ + | head -n 1 +) + +# Extract Version +version=$( + printf '%s\n' "$linux_x86_64_url" \ + | sed -n 's#.*/stable/\([^/]*\)/linux-x64/Antigravity.tar.gz#\1#p' +) + +echo "Version: $version" + +# Derive URLs +linux_aarch64_url="${linux_x86_64_url/linux-x64\/Antigravity.tar.gz/linux-arm\/Antigravity.tar.gz}" +darwin_x86_64_url="${linux_x86_64_url/linux-x64\/Antigravity.tar.gz/darwin-x64\/Antigravity.zip}" +darwin_aarch64_url="${linux_x86_64_url/linux-x64\/Antigravity.tar.gz/darwin-arm\/Antigravity.zip}" + +echo "Prefetching x86_64-linux from $linux_x86_64_url..." +prefetch_output=$(nix-prefetch-url --print-path "$linux_x86_64_url") +linux_x86_64_hash_base32=$(echo "$prefetch_output" | head -n 1) +archive_path=$(echo "$prefetch_output" | tail -n 1) +echo "path is '$archive_path'" >&2 +linux_x86_64_hash=$(nix-hash --type sha256 --to-sri "$linux_x86_64_hash_base32") + +echo "Prefetching aarch64-linux from $linux_aarch64_url..." +linux_aarch64_hash_base32=$(nix-prefetch-url "$linux_aarch64_url") +linux_aarch64_hash=$(nix-hash --type sha256 --to-sri "$linux_aarch64_hash_base32") + +echo "Prefetching x86_64-darwin from $darwin_x86_64_url..." +darwin_x86_64_hash_base32=$(nix-prefetch-url "$darwin_x86_64_url") +darwin_x86_64_hash=$(nix-hash --type sha256 --to-sri "$darwin_x86_64_hash_base32") + +echo "Prefetching aarch64-darwin from $darwin_aarch64_url..." +darwin_aarch64_hash_base32=$(nix-prefetch-url "$darwin_aarch64_url") +darwin_aarch64_hash=$(nix-hash --type sha256 --to-sri "$darwin_aarch64_hash_base32") + +echo "Extracting VS Code version..." +vscodeVersion=$( + tar -Oxzf "$archive_path" "Antigravity/resources/app/product.json" \ + | jq -r '.version' +) +echo "VS Code version: $vscodeVersion" + +echo "Updating package.nix..." +sed -i "s/version = \".*\"/version = \"$version\"/" "$PACKAGE_NIX" +sed -i "s/vscodeVersion = \".*\"/vscodeVersion = \"$vscodeVersion\"/" "$PACKAGE_NIX" + +echo "Updating sources.json..." +jq -n \ + --arg linux_x86_64_url "$linux_x86_64_url" \ + --arg linux_x86_64_hash "$linux_x86_64_hash" \ + --arg linux_aarch64_url "$linux_aarch64_url" \ + --arg linux_aarch64_hash "$linux_aarch64_hash" \ + --arg darwin_x86_64_url "$darwin_x86_64_url" \ + --arg darwin_x86_64_hash "$darwin_x86_64_hash" \ + --arg darwin_aarch64_url "$darwin_aarch64_url" \ + --arg darwin_aarch64_hash "$darwin_aarch64_hash" \ + '{ + "x86_64-linux": { url: $linux_x86_64_url, hash: $linux_x86_64_hash }, + "aarch64-linux": { url: $linux_aarch64_url, hash: $linux_aarch64_hash }, + "x86_64-darwin": { url: $darwin_x86_64_url, hash: $darwin_x86_64_hash }, + "aarch64-darwin": { url: $darwin_aarch64_url, hash: $darwin_aarch64_hash } + }' > "$SOURCES_JSON" + +echo "Update complete." diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b0e886c08d79..fc9916d3020f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12570,6 +12570,12 @@ with pkgs; vscodium-fhs = vscodium.fhs; vscodium-fhsWithPackages = vscodium.fhsWithPackages; + antigravity = callPackage ../by-name/an/antigravity/package.nix { + vscode-generic = ../applications/editors/vscode/generic.nix; + }; + antigravity-fhs = antigravity.fhs; + antigravity-fhsWithPackages = antigravity.fhsWithPackages; + code-cursor = callPackage ../by-name/co/code-cursor/package.nix { vscode-generic = ../applications/editors/vscode/generic.nix; };