90 lines
2.4 KiB
Nix
90 lines
2.4 KiB
Nix
# TODO: Expose some settings
|
|
{
|
|
config,
|
|
nixosConfig,
|
|
lib,
|
|
mylib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib;
|
|
with mylib.modules; let
|
|
cfg = config.homemodules.vscode;
|
|
in {
|
|
options.homemodules.vscode = import ./options.nix {inherit lib mylib;};
|
|
|
|
config = mkIf cfg.enable {
|
|
programs.vscode = {
|
|
enable = true;
|
|
package = pkgs.vscode;
|
|
mutableExtensionsDir = false;
|
|
|
|
profiles.default = {
|
|
enableUpdateCheck = false;
|
|
enableExtensionUpdateCheck = false;
|
|
enableMcpIntegration = true;
|
|
|
|
extensions = with pkgs.vscode-extensions; [
|
|
# Theme
|
|
catppuccin.catppuccin-vsc
|
|
catppuccin.catppuccin-vsc-icons
|
|
vscode-icons-team.vscode-icons
|
|
|
|
# General
|
|
vscodevim.vim
|
|
christian-kohler.path-intellisense
|
|
ryu1kn.partial-diff
|
|
redhat.vscode-yaml
|
|
ms-vscode-remote.remote-ssh
|
|
ms-vscode-remote.remote-ssh-edit
|
|
ms-vscode.remote-explorer
|
|
anthropic.claude-code
|
|
|
|
# Python
|
|
ms-python.python
|
|
ms-python.vscode-pylance
|
|
ms-python.black-formatter
|
|
|
|
# C/C++
|
|
ms-vscode.cpptools
|
|
# llvm-vs-code-extensions.vscode-clangd
|
|
ms-vscode.cmake-tools
|
|
ms-vscode.makefile-tools
|
|
# llvm-org.lldb-vscode
|
|
vadimcn.vscode-lldb
|
|
# "13xforever".language-x86-64-assembly
|
|
|
|
# Latex
|
|
# james-yu.latex-workshop
|
|
# valentjn.vscode-ltex
|
|
];
|
|
|
|
keybindings = [];
|
|
globalSnippets = {};
|
|
languageSnippets = {};
|
|
userMcp = {};
|
|
|
|
userSettings = {
|
|
"editor.fontFamily" = config.homemodules.color.font;
|
|
"editor.fontSize" = 14;
|
|
"editor.smoothScrolling" = true;
|
|
"editor.cursorSmoothCaretAnimation" = "on";
|
|
"workbench.enableExperiments" = false;
|
|
"workbench.list.smoothScrolling" = true;
|
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
"workbench.iconTheme" = "catppuccin-mocha";
|
|
"remote.SSH.configFile" = "~/.ssh/custom-config";
|
|
"workbench.welcomePage.walkthroughs.openOnInstall" = false;
|
|
"security.workspace.trust.enabled" = false;
|
|
"chat.disableAIFeatures" = false;
|
|
|
|
# C++
|
|
# "C_Cpp.intelliSenseEngine" = "disabled"; # IntelliSense conflics with Clangd
|
|
};
|
|
|
|
userTasks = {};
|
|
};
|
|
};
|
|
};
|
|
}
|