Nixpkgs: Build VSCode from Source

Created on 18 Jun 2017  路  6Comments  路  Source: NixOS/nixpkgs

VSCode is currently packaged with binaries from Microsoft. Those are non-free.
The source code is under MIT license.

It might be necessary to build Electron from Source first, see https://github.com/NixOS/nixpkgs/issues/17073

Most helpful comment

I managed to build vscode from source with the electron build from nixpkgs (so we don't need to change the electron build).

  • You need a patched version of node-native-keymap, I have submitted a PR
  • Then you just need to replace the electron binary with ours (after building vscode):
nix-build '<nixpkgs>' -A electron -o nixpkgs-electron
ln -sf nixpkgs-electron/lib/electron/electron .build/electron/code-oss

vscode has a wrapper around npm and also downloads packages during the build. I haven't yet figured out how to integrate that with our node.js infrastructure.

All 6 comments

I managed to build vscode from source with the electron build from nixpkgs (so we don't need to change the electron build).

  • You need a patched version of node-native-keymap, I have submitted a PR
  • Then you just need to replace the electron binary with ours (after building vscode):
nix-build '<nixpkgs>' -A electron -o nixpkgs-electron
ln -sf nixpkgs-electron/lib/electron/electron .build/electron/code-oss

vscode has a wrapper around npm and also downloads packages during the build. I haven't yet figured out how to integrate that with our node.js infrastructure.

@gebner does this mean we have a from-source build that is MIT now?

Not that I know of. I just managed to build vscode from source at all.

Hello, I'm a bot and I thank you in the name of the community for opening this issue.

To help our human contributors focus on the most-relevant reports, I check up on old issues to see if they're still relevant. This issue has had no activity for 180 days, and so I marked it as stale, but you can rest assured it will never be closed by a non-human.

The community would appreciate your effort in checking if the issue is still valid. If it isn't, please close it.

If the issue persists, and you'd like to remove the stale label, you simply need to leave a comment. Your comment can be as simple as "still important to me". If you'd like it to get more attention, you can ask for help by searching for maintainers and people that previously touched related code and @ mention them in a comment. You can use Git blame or GitHub's web interface on the relevant files to find them.

Lastly, you can always ask for help at our Discourse Forum or at #nixos' IRC channel.

There is already a PR, but it still needs a bit of clean up.

Was this page helpful?
0 / 5 - 0 ratings