{config, lib, pkgs, ...} : with lib; { programs.vscode = mkIf ( !config.home.isolation.active ) { enable = true; package = pkgs.vscodium; haskell = { enable = true; hie.enable = false; }; mutableExtensionsDir = false; extensions = (with pkgs.vscode-extensions; [ bbenoist.nix ms-toolsai.jupyter ms-vscode.cpptools ]) ++ (with pkgs.local.vscode-extensions; [ rust-lang.rust sirtori.indenticator toasty-technologies.octave Gimly81.matlab zhwu95.riscv tomoki1207.pdf vscode-icons-team.vscode-icons dan-c-underwood.arm mshr-h.VerilogHDL rashwell.tcl xshrim.txt-syntax ZixuanWang.linkerscript hediet.vscode-drawio aaron-bond.better-comments streetsidesoftware.code-spell-checker wayou.vscode-todo-highlight xaver.clang-format yzhang.markdown-all-in-one christian-kohler.path-intellisense sukumo28.wav-preview oderwat.indent-rainbow ms-python.python ]); userSettings = { "files.autoSave" = "onFocusChange"; "explorer.confirmDelete" = false; "explorer.confirmDragAndDrop" = false; "security.workspace.trust.enabled" = false; "workbench.startupEditor" = "none"; "workbench.colorTheme" = "Default High Contrast"; "editor.mouseWheelZoom" = true; "editor.cursorSmoothCaretAnimation" = true; "workbench.list.smoothScrolling" = true; "editor.smoothScrolling" = true; "editor.rulers" = [80 120]; "workbench.iconTheme" = "vscode-icons"; "workbench.editor.untitled.hint" = "hidden"; "editor.autoClosingDelete" = "never"; "editor.autoClosingOvertype" = "never"; "editor.autoClosingBrackets" = "never"; "editor.autoClosingQuotes" = "never"; "indentRainbow.colors" = [ "rgba(255,255,64,0.2)" "rgba(127,255,127,0.2)" "rgba(255,127,255,0.2)" "rgba(79,236,236,0.2)" ]; "hediet.vscode-drawio.theme" = "dark"; }; }; }