Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

jacopone/antigravity-nix

Auto-updating Nix package for Google Antigravity agentic IDE. Updates 3x/week. FHS environment with overlay support for NixOS/Home Manager.

jacopone/antigravity-nix.json
{
"createdAt": "2025-11-18T22:37:08Z",
"defaultBranch": "master",
"description": "Auto-updating Nix package for Google Antigravity agentic IDE. Updates 3x/week. FHS environment with overlay support for NixOS/Home Manager.",
"fullName": "jacopone/antigravity-nix",
"homepage": "https://antigravity.google",
"language": "Shell",
"name": "antigravity-nix",
"pushedAt": "2025-12-05T21:32:48Z",
"stargazersCount": 49,
"topics": [
"agentic-ide",
"ai-coding",
"ai-ide",
"ai-tools",
"antigravity",
"auto-update",
"code-editor",
"declarative",
"fhs-environment",
"flakes",
"github-actions",
"google",
"google-antigravity",
"home-manager",
"jules",
"nix",
"nix-flakes",
"nix-packages",
"nixos",
"overlay"
],
"updatedAt": "2025-12-05T21:32:36Z",
"url": "https://github.com/jacopone/antigravity-nix"
}

Auto-updating Nix Flake packaging for Google Antigravity.

Update Antigravity Flake Check NixOS

This flake provides Google Antigravity for NixOS systems with:

  • Automated updates: Browser-based version detection with 3x weekly checks
  • FHS environment: Standard Linux filesystem layout via buildFHSEnv
  • Multi-platform support: Linux (x86_64, aarch64) and macOS (x86_64, aarch64)
  • Chrome integration: Bundled wrapper for system Chrome with user profile support
  • Chromium fallback: Automatically uses Chromium on aarch64-linux where Google Chrome isn’t available
  • Version pinning: Tagged releases for reproducible builds
  • Zero configuration: All dependencies included
Terminal window
nix run github:jacopone/antigravity-nix

Add to your flake.nix:

{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
antigravity-nix = {
url = "github:jacopone/antigravity-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, antigravity-nix, ... }: {
nixosConfigurations.your-hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
{
environment.systemPackages = [
antigravity-nix.packages.x86_64-linux.default
];
}
];
};
};
}
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
antigravity-nix = {
url = "github:jacopone/antigravity-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, antigravity-nix, ... }: {
homeConfigurations.your-user = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
modules = [
{
home.packages = [
antigravity-nix.packages.x86_64-linux.default
];
}
];
};
};
}
{
nixpkgs.overlays = [
inputs.antigravity-nix.overlays.default
];
environment.systemPackages = with pkgs; [
google-antigravity
];
}

Launch from application menu or command line:

Terminal window
antigravity

Open a specific project:

Terminal window
antigravity /path/to/project

Use tagged releases for stability:

# Latest release (recommended)
inputs.antigravity-nix.url = "github:jacopone/antigravity-nix";
# Specific version
inputs.antigravity-nix.url = "github:jacopone/antigravity-nix/v1.11.2-6251250307170304";

View all releases: https://github.com/jacopone/antigravity-nix/releases

Terminal window
# Update flake lock
nix flake update antigravity-nix
# Rebuild system
sudo nixos-rebuild switch --flake .

Antigravity is distributed as a binary that expects a standard Linux filesystem layout. NixOS uses a non-standard structure (/nix/store), requiring special handling:

  1. antigravity-unwrapped: Extracts upstream tarball without modification
  2. FHS Environment: Wraps binary in isolated container with standard paths and all required libraries

The flake implements automated version tracking:

  1. Scheduled checks: GitHub Actions runs Monday, Wednesday, Friday at 9:00 UTC
  2. Browser automation: Playwright scrapes version from JavaScript-rendered download page
  3. Hash verification: Downloads and verifies SHA256 hashes for all platforms
  4. Build testing: Validates package builds successfully before creating PR
  5. Auto-merge: Merges PR when tests pass
  6. Release tagging: Creates GitHub releases for version pinning

Creates a Chrome wrapper that:

  • Forces use of user’s Chrome profile (~/.config/google-chrome)
  • Preserves installed extensions
  • Sets CHROME_BIN and CHROME_PATH environment variables
  • NixOS or Nix package manager with flakes enabled
  • allowUnfree = true in Nix configuration (Antigravity is proprietary software)
  • System browser:
    • x86_64-linux: google-chrome-stable
    • aarch64-linux: chromium

NixOS Configuration (configuration.nix):

nixpkgs.config.allowUnfree = true;

Flakes (flake.nix):

nixpkgs = import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
};

Upstream binary changed. Update with:

Terminal window
./scripts/update-version.sh

Or wait for automatic update (runs 3x weekly).

Verify unfree packages are enabled:

Terminal window
nix-instantiate --eval -E '(import <nixpkgs> {}).config.allowUnfree'

Should return true.

The FHS environment provides all necessary libraries. If issues persist:

  1. Check NixOS version: nixos-version
  2. Rebuild: nix build .#default --rebuild
  3. Open issue with error details and system architecture
antigravity-nix/
├── flake.nix # Main flake configuration with overlay
├── package.nix # Package derivation with FHS environment
├── scripts/
│ ├── scrape-version.js # Playwright-based version scraper
│ ├── check-version.sh # Quick version comparison
│ └── update-version.sh # Full update process
└── .github/
└── workflows/
├── update.yml # Auto-update workflow (3x weekly)
├── release.yml # Automatic release tagging
└── cleanup-branches.yml # Branch cleanup

Contributions welcome. Please:

  1. Fork repository
  2. Create feature branch
  3. Test with nix build and nix flake check
  4. Submit pull request

MIT License - see [LICENSE]!(LICENSE) for details.

Google Antigravity is proprietary software by Google LLC.

This is an unofficial package. Google Antigravity is a trademark of Google LLC. This flake is not affiliated with or endorsed by Google.