{ config, pkgs, lib, ... }: { programs.vscode = { enable = true; profiles.default = { enableUpdateCheck = false; enableExtensionUpdateCheck = false; userSettings = { "editor.formatOnSave" = true; "editor.inlineSuggest.enabled" = true; "editor.minimap.enabled" = false, "editor.minimap.autohide" = true; "editor.minimap.renderCharacters" = false; "explorer.autoReveal" = false; "explorer.excludeGitIgnore" = true; "extensions.autoUpdate" = false; "git.autofetch" = true; "git.suggestSmartCommit" = false; "git.confirmSync" = false; "security.workspace.trust.enabled" = false; "security.workspace.trust.untrustedFiles" = "open"; "workbench.colorTheme" = "SynthWave '84"; "workbench.iconTheme" = "material-icon-theme"; "workbench.startupEditor" = "none"; "workbench.tree.indent" = 16; "rust-analyzer.lens.implementations.enable" = false; "[typescript]" = { "editor.defaultFormatter" = "esbenp.prettier-vscode"; }; "[vue]" = { "editor.defaultFormatter" = "Vue.volar"; }; "[mdx]" = { "editor.defaultFormatter" = "unifiedjs.vscode-mdx"; }; "[astro]" = { "editor.defaultFormatter" = "astro-build.astro-vscode"; }; "[nix]" = { "editor.defaultFormatter" = "jnoortheen.nix-ide"; }; }; extensions = with pkgs.vscode-extensions; [ # Nix bbenoist.nix jnoortheen.nix-ide #kamadorueda.alejandra # Rust rust-lang.rust-analyzer tamasfe.even-better-toml probe-rs.probe-rs-debugger Swellaby.vscode-rust-test-adapter # Python ms-python.python ms-python.debugpy # JS/TS codeandstuff.package-json-upgrade dbaeumer.vscode-eslint esbenp.prettier-vscode Vue.volar astro-build.astro-vscode # Misc yzhang.markdown-all-in-one unifiedjs.vscode-mdx James-Yu.latex-workshop fill-labs.dependi alefragnani.project-manager foxundermoon.shell-format usernamehw.errorlens # Git waderyan.gitblame mhutchie.git-graph donjayamanne.githistory felipecaputo.git-project-manager codezombiech.gitignore # Theme RobbOwen.synthwave-vscode PKief.material-icon-theme ]; }; }; }