diff options
Diffstat (limited to 'pkgs/applications/editors/vscode/extensions')
-rw-r--r-- | pkgs/applications/editors/vscode/extensions/default.nix | 20 | ||||
-rw-r--r-- | pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix | 69 |
2 files changed, 73 insertions, 16 deletions
diff --git a/pkgs/applications/editors/vscode/extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix index 06c1467d94a22..7c43c0493c5f4 100644 --- a/pkgs/applications/editors/vscode/extensions/default.nix +++ b/pkgs/applications/editors/vscode/extensions/default.nix @@ -1483,8 +1483,8 @@ let mktplcRef = { name = "latex-workshop"; publisher = "James-Yu"; - version = "9.1.1"; - sha256 = "sha256-Xt/z5r9R090Z9nP1v7k+jYm9EOcjy0GfYiYpc7jNid4="; + version = "9.2.0"; + sha256 = "sha256-AAADJkMXsKvpEHBH8+TNM0x3CGEGVtf/b+tce297rkw="; }; meta = with lib; { changelog = "https://marketplace.visualstudio.com/items/James-Yu.latex-workshop/changelog"; @@ -3011,6 +3011,22 @@ let llvm-org.lldb-vscode = llvmPackages_8.lldb; + waderyan.gitblame = buildVscodeMarketplaceExtension { + mktplcRef = { + name = "gitblame"; + publisher = "waderyan"; + version = "10.1.0"; + sha256 = "TTYBaJ4gcMVICz4bGZTvbNRPpWD4tXuAJbI8QcHNDv0="; + }; + meta = { + changelog = "https://marketplace.visualstudio.com/items/waderyan.gitblame/changelog"; + description = "Visual Studio Code Extension - See Git Blame info in status bar"; + downloadPage = "https://marketplace.visualstudio.com/items?itemName=waderyan.gitblame"; + homepage = "https://github.com/Sertion/vscode-gitblame"; + license = lib.licenses.mit; + }; + }; + WakaTime.vscode-wakatime = callPackage ./wakatime { }; wingrunr21.vscode-ruby = buildVscodeMarketplaceExtension { diff --git a/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix b/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix index ae9cbb7fb095d..ee2f8dbec9a62 100644 --- a/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix +++ b/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix @@ -9,28 +9,69 @@ let inherit (vscode-utils) buildVscodeMarketplaceExtension; - # patch runs on remote machine hence use of which - # links to local node if version is 12 + nodeVersion = "16"; + + # As VS Code executes this code on the remote machine + # we test to see if we can build Node from Nixpkgs + # otherwise we check if the globally installed Node + # is usable. patch = '' - f="$HOME/.vscode-server/bin/$COMMIT_ID/node" - localNodePath=''$(which node) - if [ -x "''$localNodePath" ]; then - localNodeVersion=''$(node -v) - if [ "\''${localNodeVersion:1:2}" = "12" ]; then - echo PATCH: replacing ''$f with ''$localNodePath - rm ''$f - ln -s ''$localNodePath ''$f + # Use Node from nixpkgs for NixOS hosts + # + + serverDir="$HOME/.vscode-server/bin/$COMMIT_ID" + serverNode="$serverDir/node" + echo "VS Code Node: $serverNode" + + # Check if VS Code Server has a non-working Node or the wrong version of Node + if ! nodeVersion=$($serverNode -v) || [ "\''${nodeVersion:1:2}" != "${nodeVersion}" ]; then + echo "VS Code Node Version: $nodeVersion" + + if nix-build "<nixpkgs>" -A nodejs-${nodeVersion}_x --out-link "$serverDir/nix" && [ -e "$serverDir/nix/bin/node" ]; then + nodePath="$serverDir/nix/bin/node" + fi + + echo "Node from Nix: $nodePath" + + nodeVersion=$($nodePath -v) + echo "Node from Nix Version: $nodeVersion" + + if [ "\''${nodeVersion:1:2}" != "${nodeVersion}" ]; then + echo "Getting Node from Nix failed, use Local Node instead" + nodePath=$(which node) + echo "Local Node: $nodePath" + nodeVersion=$($nodePath -v) + echo "Local Node Version: $nodeVersion" fi + + if [ "\''${nodeVersion:1:2}" == "${nodeVersion}" ]; then + echo PATCH: replacing $serverNode with $nodePath + ln -sf $nodePath $serverNode + fi + fi + + nodeVersion=$($serverNode -v) + echo "VS Code Node Version: $nodeVersion" + + if [ "\''${nodeVersion:1:2}" != "${nodeVersion}" ]; then + echo "Unsupported VS Code Node version: $nodeVersion", quitting + fail_with_exitcode ''${o.InstallExitCode.ServerTransferFailed} fi + ${lib.optionalString useLocalExtensions '' # Use local extensions if [ -d $HOME/.vscode/extensions ]; then - if ! test -L "$HOME/.vscode-server/extensions"; then - mkdir -p $HOME/.vscode-server - ln -s $HOME/.vscode/extensions $HOME/.vscode-server/ + if [ -e $HOME/.vscode-server/extensions ]; then + mv $HOME/.vscode-server/extensions $HOME/.vscode-server/extensions.bak fi + + mkdir -p $HOME/.vscode-server + ln -s $HOME/.vscode/extensions $HOME/.vscode-server/extensions fi ''} + + # + # Start the server ''; in buildVscodeMarketplaceExtension { @@ -43,7 +84,7 @@ buildVscodeMarketplaceExtension { postPatch = '' substituteInPlace "out/extension.js" \ - --replace "# install extensions" '${patch}' + --replace '# Start the server\n' '${patch}' ''; meta = with lib; { |