85 lines
2.9 KiB
Nix
85 lines
2.9 KiB
Nix
{pkgs, ...}: {
|
|
programs.vscode = {
|
|
enable = true;
|
|
package = pkgs.vscode;
|
|
|
|
extensions = with pkgs.vscode-extensions; [
|
|
catppuccin.catppuccin-vsc
|
|
catppuccin.catppuccin-vsc-icons
|
|
eamodio.gitlens
|
|
editorconfig.editorconfig
|
|
github.copilot
|
|
github.copilot-chat
|
|
github.vscode-pull-request-github
|
|
jnoortheen.nix-ide
|
|
kamadorueda.alejandra
|
|
mkhl.direnv
|
|
seatonjiang.gitmoji-vscode
|
|
tamasfe.even-better-toml
|
|
yzhang.markdown-all-in-one
|
|
usernamehw.errorlens
|
|
charliermarsh.ruff
|
|
];
|
|
userSettings = {
|
|
"editor.formatOnSave" = true;
|
|
"editor.formatOnPaste" = true;
|
|
"files.insertFinalNewline" = true;
|
|
"files.trimTrailingWhitespace" = true;
|
|
"editor.fontFamily" = "'FiraCode Nerd Font Mono', 'Noto Color Emoji'";
|
|
"editor.fontLigatures" = true;
|
|
"editor.rulers" = [120];
|
|
"git.autofetch" = true;
|
|
"git.confirmSync" = false;
|
|
"git.enableSmartCommit" = true;
|
|
"gitmoji.showEmojiCode" = true;
|
|
"terminal.integrated.fontFamily" = "'FiraCode Nerd Font Mono', 'Noto Color Emoji'";
|
|
"terminal.integrated.scrollback" = 100000;
|
|
"window.menuBarVisibility" = "toggle";
|
|
"window.zoomLevel" = -0.75;
|
|
"workbench.colorTheme" = "Catppuccin Mocha";
|
|
"workbench.iconTheme" = "catppuccin-mocha";
|
|
"workbench.editor.empty.hint" = "hidden";
|
|
"gitlens.telemetry.enabled" = false;
|
|
"telemetry.telemetryLevel" = "off";
|
|
"editor.inlineSuggest.enabled" = true;
|
|
"github.copilot.enable" = {"markdown" = true;};
|
|
"github.copilot.editor.enableAutoCompletions" = true;
|
|
"nix.enableLanguageServer" = true;
|
|
"nix.serverPath" = "nil";
|
|
"julia.enableTelemetry" = false;
|
|
"julia.symbolCacheDownload" = true;
|
|
"terminal.integrated.commandsToSkipShell" = ["language-julia.interrupt"];
|
|
"diffEditor.ignoreTrimWhitespace" = false;
|
|
"remote.SSH.useExecServer" = false;
|
|
"python.analysis.typeCheckingMode" = "strict";
|
|
"python.analysis.inlayHints.functionReturnTypes" = true;
|
|
"python.analysis.inlayHints.pytestParameters" = true;
|
|
"python.analysis.inlayHints.callArgumentNames" = "partial";
|
|
"python.analysis.inlayHints.variableTypes" = true;
|
|
"[python]" = {
|
|
"editor.defaultFormatter" = "charliermarsh.ruff";
|
|
"editor.codeActionsOnSave" = {
|
|
"source.organizeImports" = "always";
|
|
"source.fixAll" = "always";
|
|
};
|
|
};
|
|
"files.exclude" = {
|
|
# defaults
|
|
"**/.git" = true;
|
|
"**/.svn" = true;
|
|
"**/.hg" = true;
|
|
"**/CVS" = true;
|
|
"**/.DS_Store" = true;
|
|
"**/Thumbs.db" = true;
|
|
# annoying
|
|
"**/__pycache__" = true;
|
|
"**/.mypy_cache" = true;
|
|
"**/.ruff_cache" = true;
|
|
"**/.pytest_cache" = true;
|
|
"**/*.egg-info" = true;
|
|
"**/.direnv" = true;
|
|
};
|
|
};
|
|
};
|
|
}
|