-
-
Notifications
You must be signed in to change notification settings - Fork 13.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vscode-extensions: add 40K VSCode extensions #208456
Comments
So, is this API an interface blessed by M$? |
@Atemu, IDK. Have just opened an issue microsoft/vsmarketplace#548 |
After contacting @prashantvc, I got a permission to call the VS Marketplace API in this particular scenario. So, I guess we can now decide how to include that flake. |
You are good to use this solution 👍 |
@prashantvc , sorry to bother you about nix-vscode-extensions again. A quick reminder. This is a Nix flake that allows Nix users to get the extensions from Open VSX and VS Marketplace and use them in per-project VSCode setups. In our flake, we only provide the information about extensions, not the files. Here's what we record about an extension: {
"lastUpdated": "2023-01-27T00:13:45.76Z",
"name": "c0-lsp",
"publisher": "15122staff",
"sha256": "sha256-F2/YK4fntexO7uactN1/nzkJ6CQ8TMzbFKml+plUU/c=",
"url": "https://15122staff.gallery.vsassets.io/_apis/public/gallery/publisher/15122staff/extension/c0-lsp/2.4.0/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage",
"version": "2.4.0"
} When a user of our flake wants to get an extension, Am I correct that in this scenario, users of our flake are permitted to call the Markeplace API via |
Packaging request
Hi! I'd like to incorporate 40K VSCode extensions into
nixpkgs
. Please, help me do this if you find this idea OK.VSCode extensions
There are available via APIs approx. 40K extensions for VSCode on vscode-marketplace and approx. 2K on open-vsx. @AmeerTaweel and me made a GH action to write Nix expressions for them into a flake. See the repo. The action is pretty stable and runs daily.
Use case
I got used to providing VSCodium with extensions on a per-project basis. That is, VSCodium for each of the projects has another set of extensions.
There is a template that you may try. Sometimes, it's necessary to reboot the system for VSCodium to see the extensions.
Note
UPD
We got a permission to access VS Marketplace. See comment
UPD 1
To calculate a SHA of an extension, we have to download it via
nix
. So, we have to obtain the Offerings. It is permitted in case of our action. I asked if the users of our flake may access the Marketplace API when evaluating our flake. See the comment.Terms of use
According to the VSCode Marketplace Terms of Use
"You may not access, search, obtain or attempt to obtain any Offerings, materials, or
information through any means other than Microsoft’s publicly supported interfaces (including, without
limitation, through automated harvesting, ‘spidering’ or ‘scraping’ the Marketplace)."
We use nvfetcher to generate expressions for extensions. So, hopefully, we obtain no Offerings but rather info about them. And we obtain such info via a publicly available Marketplace API.
An example of what we get:
The text was updated successfully, but these errors were encountered: