Turn Google Antigravity's Linux .tar.gz releases into proper, upgradeable native packages —
RPM, DEB, AppImage and Flatpak.
Google Antigravity ships for Linux as plain
.tar.gz archives. You can run them, but you get:
- ❌ no entry in your application menu, no icon
- ❌ no
antigravitycommand on yourPATH - ❌ no integration with your distro's package manager — and therefore no clean upgrade path
- ❌ a
chrome-sandboxthat isn't set up correctly, so sandboxing may not work
packaged-gravity wraps those tarballs into real, first-class Linux packages so Antigravity installs, launches, shows an icon, and upgrades like any other application you'd get from your distribution.
It supports both Antigravity products and auto-detects which one you hand it:
| Product | Tarball you download | Package name | Command |
|---|---|---|---|
| Antigravity (coding agent) | Antigravity.tar.gz |
antigravity |
antigravity |
| Antigravity IDE | Antigravity IDE.tar.gz |
antigravity-ide |
antigravity-ide |
It also figures out the version (e.g. 2.0.10 / 2.0.3) and CPU
architecture straight from the binaries — you don't pass any of that by hand.
git clone https://github.com/vittico/packaged-gravity.git
cd packaged-gravity
# Build the native packages (.rpm + .deb) — product & version auto-detected
./build.sh "Antigravity IDE.tar.gz"
# ...or pick exactly what you want
./build.sh Antigravity.tar.gz --format rpm
./build.sh Antigravity.tar.gz --format deb,appimage
./build.sh Antigravity.tar.gz --format all # rpm + deb + appimagePackages land in ./dist/. Install with your normal tools:
# Fedora / RHEL / openSUSE
sudo dnf install ./dist/antigravity-2.0.10-1.fc44.x86_64.rpm
# Debian / Ubuntu
sudo apt install ./dist/antigravity_2.0.10_amd64.deb
# AppImage — no install needed, just make it executable
chmod +x ./dist/Antigravity-2.0.10-x86_64.AppImage
./dist/Antigravity-2.0.10-x86_64.AppImageAfter installing the RPM/DEB you'll find Antigravity in your application
menu with its icon, and an antigravity (or antigravity-ide) command on your
PATH.
Choose with --format (comma-separated lists are allowed):
| Format | Flag | Best for | Build tool needed | Upgrades via |
|---|---|---|---|---|
| RPM | rpm |
Fedora, RHEL, CentOS, openSUSE | rpmbuild |
dnf upgrade |
| DEB | deb |
Debian, Ubuntu, Mint, Pop!_OS | dpkg-deb |
apt upgrade |
| AppImage | appimage |
any distro, portable, no root | appimagetool (auto-downloaded) |
replace the file / AppImageUpdate |
| Flatpak ⚗️ | flatpak |
sandboxed, cross-distro | flatpak-builder + Flathub runtimes |
flatpak update |
all |
all |
rpm + deb + appimage | — | — |
native (default) |
native |
rpm + deb | — | — |
⚗️ Flatpak is experimental. It produces a valid manifest and drives
flatpak-builder, but it pulls large runtimes from Flathub and its sandbox permissions (finish-args) may need tuning for your setup. The RPM, DEB and AppImage paths are the well-tested ones.
You can build any format on any distro — e.g. produce .debs on Fedora — as long
as the matching build tool is installed. The output architecture follows the
tarball: an x86-64 tarball yields x86_64/amd64 packages; an arm64 tarball
yields aarch64/arm64 packages, automatically.
Every package keeps a stable name (antigravity / antigravity-ide) and
only its version changes. Both RPM and DEB compare versions numerically per
segment, so 2.0.10 correctly supersedes 2.0.3. When a new Antigravity
release comes out:
./build.sh Antigravity.tar.gz # build the new version
sudo dnf upgrade ./dist/antigravity-*.rpm # clean in-place upgrade (Fedora)
sudo apt install ./dist/antigravity_*.deb # clean in-place upgrade (Debian)Rolling it out to many machines. Drop the packages into a repository and
your hosts pick up upgrades through their normal dnf upgrade / apt upgrade:
# RPM repo
createrepo_c /srv/repo/antigravity/ # then add a .repo file pointing at it
# DEB repo
reprepro -b /srv/apt includedeb stable ./dist/antigravity_2.0.10_amd64.debThe build scripts are plain Bash plus a few common tools. build.sh checks
for what each step needs and prints a precise message (including the install
command) if something is missing — you'll never get a cryptic failure.
| Tool | Why | Fedora | Debian/Ubuntu |
|---|---|---|---|
bash, tar, coreutils |
the build itself | (base system) | (base system) |
python3 |
read versions; unpack the agent's app.asar |
python3 |
python3 |
| Building… | Needs | Fedora | Debian/Ubuntu |
|---|---|---|---|
.rpm |
rpmbuild |
sudo dnf install rpm-build |
sudo apt install rpm |
.deb |
dpkg-deb |
sudo dnf install dpkg |
(base system) |
.AppImage |
appimagetool |
auto-downloaded to .tools/ |
auto-downloaded to .tools/ |
.flatpak |
flatpak-builder |
sudo dnf install flatpak-builder |
sudo apt install flatpak-builder |
| Tool | Effect if present | Effect if absent |
|---|---|---|
ImageMagick (magick/convert) |
renders icons at all sizes (16–512 px) | installs a single icon at its native size |
The runtime dependencies of the app itself (GTK, NSS, ALSA, libsecret, libnotify, …) are declared inside the packages, so the package manager pulls them in automatically when a user installs.
./build.sh [options] <tarball>
Options:
-f, --format <fmt> rpm | deb | appimage | flatpak | all | native
(default: native = rpm + deb) may be comma-separated
-o, --outdir <dir> output directory (default: ./dist)
--product <p> force agent | ide (default: auto-detect)
--version <v> override the detected version
-k, --keep keep the temporary build tree (for debugging)
-h, --help show this help
# Auto-detect everything, build rpm + deb
./build.sh "Antigravity IDE.tar.gz"
# Just an AppImage, into a custom directory
./build.sh Antigravity.tar.gz -f appimage -o /tmp/out
# Everything except flatpak
./build.sh Antigravity.tar.gz -f all
# Force the version (e.g. for testing the upgrade flow)
./build.sh Antigravity.tar.gz --version 2.0.99
# Keep the staging tree to inspect what got packaged
./build.sh Antigravity.tar.gz --keepFor each tarball, build.sh runs four phases — each lives in its own small
module under lib/:
- Detect (
lib/detect.sh) — identify the product (agent vs IDE), read the real version, and read the CPU architecture:- IDE →
resources/app/product.json→ideVersion - agent → the
versionin thepackage.jsoninsideresources/app.asar(read by the dependency-freelib/asar.py)
- IDE →
- Stage (
lib/stage.sh) — assemble one clean FHS install tree that every packager consumes verbatim:This phase also fixes/opt/<id>/... the Electron app /usr/bin/<id> launcher on $PATH /usr/share/applications/<id>.desktop menu entry (+ "New Window" for the IDE) /usr/share/icons/hicolor/<size>/apps/<id>.png GNOME/KDE icons (16–512 px) /usr/share/pixmaps/<id>.png fallback icon /usr/share/doc/<id>/copyrightchrome-sandboxto be setuid-root and extracts the agent's icon from inside itsapp.asar. - Package (
lib/rpm.sh,lib/deb.sh,lib/appimage.sh,lib/flatpak.sh) — wrap that one staged tree into each requested format, with post-install scriptlets that refresh the desktop and icon caches.
Because all packagers share the same staged tree, the .rpm, .deb, and
.AppImage lay files down identically — a fix in staging benefits them all.
build.sh entry point: parse args, detect, stage, build
lib/
common.sh logging + tool-detection helpers
detect.sh product / version / architecture detection + metadata
asar.py tiny dependency-free Electron ASAR reader (version + icon)
stage.sh assembles the FHS install tree
rpm.sh generates the .spec and runs rpmbuild
deb.sh generates DEBIAN/control + maintainer scripts, runs dpkg-deb
appimage.sh builds an AppDir and runs appimagetool
flatpak.sh generates a flatpak-builder manifest (experimental)
required tool 'rpmbuild' not found— install it (sudo dnf install rpm-build), or build a different format with--format deb/appimage.- The AppImage starts with
--no-sandbox. That's expected:chrome-sandboxcan't be setuid inside an AppImage's read-only mount, so — like every Electron AppImage — it launches with the sandbox disabled. The RPM/DEB do ship a proper setuid sandbox. - Icons are low-res. Install ImageMagick so the script can render every hicolor size.
- Flatpak build fails pulling runtimes. Make sure the Flathub remote is
added:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo.
If packaged-gravity saved you some time, you can say thanks — it's just a tip jar, nothing here is gated or paywalled. ❤️
PRs and issues welcome! See CONTRIBUTING.md. Especially wanted:
arm64 testing, a --sign option (GPG/dpkg-sig), and an Arch PKGBUILD.
The packaging scripts in this repository are MIT licensed.
The Antigravity application is proprietary software owned by Google. This
project does not include, redistribute, or modify Antigravity — it only
repackages a tarball you download yourself. You are responsible for complying
with Google's terms when distributing the resulting packages. The repository's
.gitignore deliberately excludes *.tar.gz and dist/ so you never commit
Google's binaries by accident.