{ pkgs, lib, ... }: { programs.vscode = { enable = true; enableUpdateCheck = false; enableExtensionUpdateCheck = false; mutableExtensionsDir = true; package = vscode-fhs; # Extensions extensions = (with pkgs.vscode-extensions; [ # Stable ms-vscode-remote.remote-ssh mhutchie.git-graph pkief.material-icon-theme oderwat.indent-rainbow 2gua.rainbow-brackets jnoortheen.nix-ide pinage404.nix-extension-pack vsciot-vscode.vscode-arduino espressif.esp-idf-extension platformio.platformio-ide yzhang.markdown-all-in-one yzane.markdown-pdf bierner.markdown-checkbox shd101wyy.markdown-preview-enhanced TakumiI.markdowntable jebbs.plantuml myml.vscode-markdown-plantuml-preview DavidAnson.vscode-markdownlint MS-vsliveshare.vsliveshare redhat.vscode-yaml redhat.vscode-xml octref.vetur formulahendry.auto-close-tag mechatroner.rainbow-csv swellaby.rust-pack James-Yu.latex-workshop waderyan.gitblame ms-python.python ms-python.vscode-pylance VisualStudioExptTeam.vscodeintellicode redhat.java ms-vscode.cpptools-extension-pack ]) ++ (with pkgs.unstable.vscode-extensions; [ # Unstable GitHub.copilot GitHub.copilot-chat Continue.continue ]); # Settings userSettings = { # General "editor.fontSize" = 16; "editor.fontFamily" = "'Jetbrains Mono', 'monospace', monospace"; "terminal.integrated.fontSize" = 14; "terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font', 'monospace', monospace"; "window.zoomLevel" = 1; "editor.multiCursorModifier" = "ctrlCmd"; "workbench.startupEditor" = "none"; "explorer.compactFolders" = false; # Whitespace "files.trimTrailingWhitespace" = true; "files.trimFinalNewlines" = true; "files.insertFinalNewline" = true; "diffEditor.ignoreTrimWhitespace" = false; # Git "git.enableCommitSigning" = true; "git-graph.repository.sign.commits" = true; "git-graph.repository.sign.tags" = true; "git-graph.repository.commits.showSignatureStatus" = true; # Styling "window.autoDetectColorScheme" = true; "workbench.preferredDarkColorTheme" = "Default Dark Modern"; "workbench.preferredLightColorTheme" = "Default Light Modern"; "workbench.iconTheme" = "material-icon-theme"; "material-icon-theme.activeIconPack" = "none"; "material-icon-theme.folders.theme" = "classic"; # Extentions "nix.enableLanguageServer"= true; # Other "telemetry.telemetryLevel" = "off"; "update.showReleaseNotes" = false; }; }; }