Files
nix-home-manager/home/vscode.nix

92 lines
2.5 KiB
Nix

{ config, pkgs, lib, ... }:
{
### VSCode Server ###
imports = [
"${fetchTarball {
url = "https://github.com/msteen/nixos-vscode-server/tarball/master";
sha256 = "1rdn70jrg5mxmkkrpy2xk8lydmlc707sk0zb35426v1yxxka10by";
}}/modules/vscode-server/home.nix"
];
config = lib.mkIf config.homeModules.vscode.enable {
services.vscode-server.enable = true;
# Optional: extra settings
# services.vscode-server.enableFHS = true;
# services.vscode-server.nodejsPackage = pkgs.nodejs_20;
### VSCode Editor ###
programs.vscode = {
enable = true;
profiles.default = {
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
userSettings = {
"editor.formatOnSave" = true;
"editor.inlineSuggest.enabled" = true;
"editor.minimap.enabled" = false;
"editor.minimap.autohide" = true;
"editor.minimap.renderCharacters" = false;
"explorer.autoReveal" = false;
"explorer.excludeGitIgnore" = true;
"extensions.autoUpdate" = false;
"git.autofetch" = true;
"git.suggestSmartCommit" = false;
"git.confirmSync" = false;
"security.workspace.trust.enabled" = false;
"security.workspace.trust.untrustedFiles" = "open";
"workbench.colorTheme" = "SynthWave '84";
"workbench.iconTheme" = "material-icon-theme";
"workbench.startupEditor" = "none";
"workbench.tree.indent" = 16;
"rust-analyzer.lens.implementations.enable" = false;
"chat.agent.enabled" = false;
"[typescript]" = {
"editor.defaultFormatter" = "esbenp.prettier-vscode";
};
"[vue]" = {
"editor.defaultFormatter" = "Vue.volar";
};
"[mdx]" = {
"editor.defaultFormatter" = "unifiedjs.vscode-mdx";
};
"[astro]" = {
"editor.defaultFormatter" = "astro-build.astro-vscode";
};
"[nix]" = {
"editor.defaultFormatter" = "jnoortheen.nix-ide";
};
};
extensions = with pkgs.vscode-extensions; [
# Nix
bbenoist.nix
# Rust
rust-lang.rust-analyzer
tamasfe.even-better-toml
# JS/TS
dbaeumer.vscode-eslint
esbenp.prettier-vscode
astro-build.astro-vscode
# Misc
yzhang.markdown-all-in-one
foxundermoon.shell-format
# Git
waderyan.gitblame
#mhutchie.git-graph
donjayamanne.githistory
codezombiech.gitignore
];
};
};
};
}