{ pkgs, lib, ... }: let plugins = (import ./extensions.lock) { pkgs = pkgs; lib = lib; }; in { imports = [ ./javascript.nix ./markdown.nix ./nix.nix ]; programs.vscode = { enable = true; package = pkgs.stdenv.mkDerivation { pname = pkgs.vscodium.pname; version = pkgs.vscodium.version; meta.mainProgram = pkgs.vscodium.meta.mainProgram; src = pkgs.writeScriptBin "codium" '' #!/usr/bin/env bash exec ${pkgs.vscodium}/bin/codium --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations --ozone-platform=wayland --disable-features=WaylandFractionalScaleV1 "$@" ''; dontBuild = true; dontConfigure = true; }; enableUpdateCheck = false; enableExtensionUpdateCheck = false; extensions = with plugins; [ # General extensions ## Code Completion github.copilot github.copilot-chat ## Development Environment ms-toolsai.jupyter ms-vscode-remote.remote-containers ## Error Checking usernamehw.errorlens ## Export and Visualisation ibm.output-colorizer nobuhito.printcode pnp.polacode ## Git lamartire.git-indicators mhutchie.git-graph ## Miscelaneous britesnow.vscode-toggle-quotes mrmlnc.vscode-duplicate qcz.text-power-tools # Language extensions ## CSV mechatroner.rainbow-csv ## Python ms-python.python ## Rust language extensions rust-lang.rust-analyzer serayuzgur.crates tamasfe.even-better-toml vadimcn.vscode-lldb ## SVG jock.svg ## Tex james-yu.latex-workshop ]; userSettings = { "editor.linkedEditing" = true; "window.menuBarVisibility" = "toggle"; "github.copilot.editor.enableAutoCompletions" = true; }; }; }