NixIDE is a repository that automatically updates popular IDE and editor packages by fetching the latest build definitions from nixpkgs, updating them to the newest available versions, and creating individual PRs for review and automatic testing.
- VS Code (stable + insiders)
- Windsurf (stable)
- Cursor (stable)
- Zed (stable + prerelease)
- linux-x86_64
- darwin-aarch64
- darwin-x86_64 (where available)
# In your flake.nix
inputs = {
nixide.url = "github:benjaminkitt/nix-ides";
};
# Then in your outputs
packages.vscode = nixide.packages.${system}.vscode;let
nixide = import (fetchTarball "https://github.com/benjaminkitt/nix-ides/archive/main.tar.gz") {};
in
# Use the packages
nixide.vscodevscode: VS Code stablevscode-insiders: VS Code insiderswindsurf: Windsurf stablecursor: Cursor stablezed: Zed stablezed-prerelease: Zed prerelease
- Nix with flakes enabled
- Git
-
Clone the repository
git clone https://github.com/benjaminkitt/nix-ides.git cd nix-ides -
Build a package
nix build .#vscode
This repository automatically checks for new IDE versions every 4 hours. When updates are detected, it:
- Fetches the latest build definitions from nixpkgs
- Updates them to the newest available versions
- Creates individual PRs for review and automatic testing
- Auto-merges successful builds to main
- Keeps failed build PRs open for manual intervention
MIT