From db9cf9232fc747c9a146ebbcd035f52f21f3c996 Mon Sep 17 00:00:00 2001 From: unlsycn Date: Sat, 24 Jan 2026 17:04:20 +0800 Subject: [PATCH] vscode: add Antigravity support Signed-off-by: unlsycn --- modules/programs/vscode/default.nix | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/modules/programs/vscode/default.nix b/modules/programs/vscode/default.nix index ada22cb6..85a6fb26 100644 --- a/modules/programs/vscode/default.nix +++ b/modules/programs/vscode/default.nix @@ -22,6 +22,13 @@ let jsonFormat = pkgs.formats.json { }; + libPath = + if vscodePname == "antigravity" then + "${cfg.package}/lib/antigravity" + else + "${cfg.package}/lib/vscode"; + sharePrefix = if vscodePname == "antigravity" then "/share/antigravity" else "/share/vscode"; + productInfoPath = if lib.pathExists "${cfg.package}/Applications/${ @@ -31,9 +38,9 @@ let "${cfg.package}/Applications/${ cfg.package.passthru.longName or "Code" }.app/Contents/Resources/app/product.json" - else if lib.pathExists "${cfg.package}/lib/vscode/resources/app/product.json" then - # Visual Studio Code, VSCodium, Windsurf, Cursor - "${cfg.package}/lib/vscode/resources/app/product.json" + else if lib.pathExists "${libPath}/resources/app/product.json" then + # Visual Studio Code, VSCodium, Windsurf, Cursor, Antigravity + "${libPath}/resources/app/product.json" else # OpenVSCode Server "${cfg.package}/product.json"; @@ -70,6 +77,10 @@ let dataFolderName = ".windsurf"; nameShort = "Windsurf"; }; + antigravity = { + dataFolderName = ".antigravity"; + nameShort = "Antigravity"; + }; }; configDir = cfg.nameShort; @@ -100,7 +111,7 @@ let pkgs.writeTextFile { inherit text; name = "extensions-json-${name}"; - destination = "/share/vscode/extensions/extensions.json"; + destination = "${sharePrefix}/extensions/extensions.json"; }; mergedUserSettings = @@ -579,7 +590,7 @@ in lib.mapAttrs' ( n: v: lib.nameValuePair "${userDir}/profiles/${n}/extensions.json" { - source = "${extensionJsonFile n (extensionJson v.extensions)}/share/vscode/extensions/extensions.json"; + source = "${extensionJsonFile n (extensionJson v.extensions)}${sharePrefix}/extensions/extensions.json"; } ) allProfilesExceptDefault )) @@ -587,7 +598,7 @@ in (mkIf (cfg.profiles != { }) ( let # Adapted from https://discourse.nixos.org/t/vscode-extensions-setup/1801/2 - subDir = "share/vscode/extensions"; + subDir = "${sharePrefix}/extensions"; toPaths = ext: map (k: { "${extensionPath}/${k}".source = "${ext}/${subDir}/${k}"; }) (