2024-11-21 22:31:12 -07:00
|
|
|
{ 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; [
|
2024-11-22 12:29:00 -07:00
|
|
|
# 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
|
2024-11-21 22:31:12 -07:00
|
|
|
];
|
|
|
|
|
|
|
|
userSettings = {
|
|
|
|
# Editor
|
|
|
|
"editor.fontFamily" = "'FiraCode Nerd Font Mono', 'Droid Sans Mono', 'monospace', monospace";
|
2024-11-22 14:14:54 -07:00
|
|
|
"editor.indentSize" = "tabSize";
|
|
|
|
"editor.tabSize" = 4;
|
2024-11-21 22:31:12 -07:00
|
|
|
# JJ
|
2024-11-22 14:14:54 -07:00
|
|
|
"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;
|
|
|
|
};
|
2024-11-21 22:31:12 -07:00
|
|
|
# Nix
|
|
|
|
"nix.enableLanguageServer" = true;
|
|
|
|
"nix.serverPath" = "nixd";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|