VSCodium: Difference between revisions

imported>Jmarmstrong1207
Add "Creating development environments using nix-shell" section. Makes the installation process easier to follow for beginners.
m Renamed option: extensions -> profiles.default.extensions (Imported)
 
(5 intermediate revisions by 4 users not shown)
Line 11: Line 11:
Extensions can be managed using the 'vscode-with-extensions' package:
Extensions can be managed using the 'vscode-with-extensions' package:


<syntaxHighlight lang=nix>
<syntaxhighlight lang="nix">
environment.systemPackages = with pkgs; [
environment.systemPackages = with pkgs; [
   (vscode-with-extensions.override {
   (vscode-with-extensions.override {
Line 22: Line 22:
     ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
     ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
       {
       {
         name = "remote-ssh-edit";
         name = "dscodegpt";
         publisher = "ms-vscode-remote";
         publisher = "DanielSanMedium";
         version = "0.47.2";
         version = "3.4.10";
         sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g";
         hash = "sha256-zjaM9YME0wfBOwhJTacnQbQvw35QL5NvXIBAx5d/bjI=";
       }
       }
     ];
     ];
   })
   })
];
];
</syntaxHighlight>
</syntaxhighlight>


Some examples here: [https://github.com/search?q=extensionFromVscodeMarketplace&type=code GitHub search for "extensionFromVscodeMarketplace"]
Some examples here: [https://github.com/search?q=extensionFromVscodeMarketplace&type=code GitHub search for "extensionFromVscodeMarketplace"]
Line 42: Line 42:
   enable = true;
   enable = true;
   package = pkgs.vscodium;
   package = pkgs.vscodium;
   extensions = with pkgs.vscode-extensions; [
   profiles.default.extensions = with pkgs.vscode-extensions; [
     dracula-theme.theme-dracula
     dracula-theme.theme-dracula
     vscodevim.vim
     vscodevim.vim
Line 50: Line 50:
</syntaxhighlight>
</syntaxhighlight>


* See for more options: [https://nix-community.github.io/home-manager/options.html#opt-programs.vscode.enable Home Manager Manual: Options - programs.vscode]
* See for more options: [https://nix-community.github.io/home-manager/options.xhtml#opt-programs.vscode.enable Home Manager Manual: Options - programs.vscode]
* Search for extensions with configurations: [https://search.nixos.org/packages?type=packages&query=vscode-extensions NixOS Search: vscode-extensions]
* Search for extensions with configurations: [https://search.nixos.org/packages?type=packages&query=vscode-extensions NixOS Search: vscode-extensions]


Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools this note on the VSCodium docs page] for what's been found so far and possible workarounds.
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [https://github.com/VSCodium/vscodium/blob/master/docs/index.md#proprietary-debugging-tools this note on the VSCodium docs page] for what's been found so far and possible workarounds.
In particular, [https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh remote-ssh] does not work yet with VSCodium.
In particular, [https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh remote-ssh] does not work yet with VSCodium.


Line 88: Line 88:


== Creating development environments using nix-shell ==
== Creating development environments using nix-shell ==
Instead of using configuration.nix to add packages (e.g. Python or NodeJS) for developing code on VSCode, you can instead use nix-shell. This will allow you to seamlessly create development environments with the correct packages for your project, without rebuilding and restarting NixOS. See [https://nixos.wiki/wiki/Development_environment_with_nix-shell this page] for further instructions in building nix-shell development environments.
Instead of using configuration.nix to add packages (e.g. Python or NodeJS) for developing code on VSCode, you can instead use nix-shell. This will allow you to seamlessly create development environments with the correct packages for your project, without rebuilding and restarting NixOS. See [[Development_environment_with_nix-shell | this page]] for further instructions in building nix-shell development environments.


The extension [https://marketplace.visualstudio.com/items?itemName=arrterian.nix-env-selector nix-env-selector] will make switching between different nix-shell environments within VSCode so you can switch between different coding projects easily. It has a guide for setting up nix-shell environments for VSCode.
The extension [https://marketplace.visualstudio.com/items?itemName=arrterian.nix-env-selector nix-env-selector] will make switching between different nix-shell environments within VSCode so you can switch between different coding projects easily. It has a guide for setting up nix-shell environments for VSCode.
Line 107: Line 107:
$ codium --disable-gpu
$ codium --disable-gpu
</syntaxHighlight>
</syntaxHighlight>
[[Category:Applications]]
[[Category:IDE]]