nix/home/programs/vscodium.nix

60 lines
2 KiB
Nix

{pkgs, ...}: let
vscode-icons = pkgs.vscode-utils.extensionFromVscodeMarketplace {
name = "vscode-icons";
publisher = "vscode-icons-team";
version = "11.12.0";
sha256 = "sha256-jyc6m6lfwSYt5xg2H5TGdxheKptho87C7eN4xuU5IYg=";
};
direnv = pkgs.vscode-utils.extensionFromVscodeMarketplace {
name = "direnv";
publisher = "mkhl";
version = "0.6.1";
sha256 = "sha256-5/Tqpn/7byl+z2ATflgKV1+rhdqj+XMEZNbGwDmGwLQ=";
};
in {
programs.vscode = {
enable = true;
package = pkgs.vscodium;
userSettings = {
"breadcrumbs.enabled" = false;
"editor.formatOnPaste" = true;
"editor.formatOnSave" = true;
"editor.formatOnSaveMode" = "file";
"editor.formatOnType" = true;
"editor.minimap.enabled" = false;
"explorer.confirmDelete" = false;
"extensions.autoCheckUpdates" = false;
"extensions.autoUpdate" = false;
"extensions.closeExtensionDetailsOnViewChange" = true;
"extensions.ignoreRecommendations" = true;
"python.analysis.autoImportCompletions" = true;
"python.analysis.autoSearchPaths" = true;
"python.analysis.completeFunctionParens" = true;
"python.experiments.enabled" = false;
"python.languageServer" = "Pylance";
"telemetry.telemetryLevel" = "off";
"terminal.external.linuxExec" = "kitty";
"update.mode" = "none";
"update.showReleaseNotes" = false;
"workbench.colorTheme" = "Tokyo Night";
"workbench.iconTheme" = "vscode-icons";
"vscode-neovim.neovimExecutablePaths.linux" = "${pkgs.neovim}/bin/nvim";
"python.formatting.provider" = "black";
};
extensions = with pkgs.vscode-extensions; [
asvetliakov.vscode-neovim
catppuccin.catppuccin-vsc
christian-kohler.path-intellisense
direnv
eamodio.gitlens
editorconfig.editorconfig
kahole.magit
kamadorueda.alejandra
ms-python.python
ms-python.vscode-pylance
ms-toolsai.jupyter
rust-lang.rust-analyzer
vscode-icons
];
};
}