dotfiles/nix/configs/vscode.nix

80 lines
2 KiB
Nix

{ pkgs, ... }:
{
home-manager.users.grape = {
programs.vscode = {
enable = true;
package = pkgs.unstable.vscodium;
extensions = with pkgs.vscode-extensions; [
# language suports
rust-lang.rust-analyzer
jnoortheen.nix-ide
redhat.java
redhat.vscode-yaml
ms-azuretools.vscode-docker
octref.vetur
bungcip.better-toml
mikestead.dotenv
# linters
esbenp.prettier-vscode
naumovs.color-highlight
# essentials, other
streetsidesoftware.code-spell-checker
vscodevim.vim
oderwat.indent-rainbow
usernamehw.errorlens
christian-kohler.path-intellisense
vscjava.vscode-spring-initializr
gruntfuggly.todo-tree
#themes, icons
vscode-icons-team.vscode-icons
mechatroner.rainbow-csv
] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "shades-of-purple";
publisher = "ahmadawais";
version = "7.3.2";
sha256 = "10q5w9g7ghn2qvdc7h2b79x1vy8nzpnwz8dbg1h03074ikhvjx4v";
}
];
userSettings = {
"terminal.integrated.defaultProfile.linux" = "zsh";
"editor.formatOnSave" = true;
"editor.lineNumbers" = "relative";
"workbench.colorTheme" = "Shades of Purple (Super Dark)";
"editor.minimap.enabled" = false;
"workbench.iconTheme" = "vscode-icons";
"vim.smartRelativeLine" = true;
"redhat.telemetry.enabled" = false;
"rust-analyzer.cargo.sysroot" = "discover";
"[typescriptreact]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
};
languageSnippets = {
nix = {
pkginit = {
body = [
"{pkgs, ...}: {"
"$1"
"}"
];
description = "Insert a nix pkg config";
prefix = [
"nix"
];
};
};
};
};
};
}