{ config, lib, pkgs, vars, ... }: let in { home-manager.users.${vars.user} = { 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"; } { name = "cpptools"; publisher = "ms-vscode"; version = "1.19.1"; sha256 = "sha256-yUZTLnN4nomFp5I0VgRz7rRMkeMU9QzY+dzEdUUASek="; } { name = "camkes-syntax-highlighting"; publisher = "hensoldt-cyber-gmbh"; version = "1.1.3"; sha256 = "sha256-dRhsFGSjR/Vp5aJgMDwCZQtwmmfNXbM85ViTIq5ORwY="; } ]; 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"; } ]; }; }; # programs.vscode.package = pkgs.vscodium.fhsWithPackages (ps: with ps; [rustup zlib]); }