{ pkgs, inputs, system, ... }: { programs.vscode = { enable = true; package = pkgs.vscodium; enableUpdateCheck = false; enableExtensionUpdateCheck = false; mutableExtensionsDir = false; extensions = with inputs.vscode-extensions.extensions."${system}".open-vsx; [ # Language servers rust-lang.rust-analyzer # Rust llvm-vs-code-extensions.vscode-clangd # C++ vadimcn.vscode-lldb # C++ Debugging jnoortheen.nix-ide # Nix tamasfe.even-better-toml # TOML # Theming pkief.material-icon-theme # Material icons # Utilities streetsidesoftware.code-spell-checker # Spellchecking ]; userSettings = { # Editor "editor.fontFamily" = "'FiraCode Nerd Font Mono', 'Droid Sans Mono', 'monospace', monospace"; "editor.indentSize" = "tabSize"; "editor.tabSize" = 4; # JJ "files.watcherExclude" = { "**/.git/objects/**" = true; "**/.git/subtree-cache/**" = true; "**/.hg/store/**" = true; "**/.jj" = true; }; "files.exclude" = { "**/.git" = true; "**/.jj" = true; "**/.svn" = true; "**/.hg" = true; "**/CVS" = true; "**/.DS_Store" = true; "**/Thumbs.db" = true; }; # Nix "nix.enableLanguageServer" = true; "nix.serverPath" = "nixd"; }; }; }