{ config, lib, pkgs, vars, ... }: let in { programs.vscode = { enable = true; package = pkgs.vscodium; enableUpdateCheck = false; extensions = with pkgs.vscode-extensions; [ catppuccin.catppuccin-vsc pkief.material-icon-theme vscodevim.vim bbenoist.nix ms-python.python ms-toolsai.jupyter ms-toolsai.jupyter-renderers ms-toolsai.jupyter-keymap ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ { name = "remote-ssh-edit"; publisher = "ms-vscode-remote"; version = "0.47.2"; sha256 = "1hp6gjh4xp2m1xlm1jsdzxw9d8frkiidhph6nvl24d0h8z34w49g"; } ]; userSettings = { #Theming "workbench.colorTheme" = "Catppuccin Mocha"; "catppuccin.accentColor" = "teal"; "workbench.iconTheme" = "material-icon-theme"; "window.menuBarVisibility" = "toggle"; "editor.minimap.autohide" = false; #Extensions - General "extensions.autoCheckUpdates" = false; "extensions.autoUpdate" = false; # Startup "workbench.startupEditor" = "none"; # Vim "editor.lineNumbers" = "relative"; }; keybindings = [ # Navigating Autosuggest and Quick Open entries { "key" = "ctrl+j"; "command" = "selectNextSuggestion"; "when" = "suggestWidgetVisible"; } { "key" = "ctrl+k"; "command" = "selectPrevSuggestion"; "when" = "suggestWidgetVisible"; } { "key" = "ctrl+j"; "command" = "workbench.action.quickOpenSelectNext"; "when" = "inQuickOpen"; } { "key" = "ctrl+k"; "command" = "workbench.action.quickOpenSelectPrevious"; "when" = "inQuickOpen"; } ]; }; }