Files
nixos/home-manager/development/vscode.nix
worble 36fa73a3b6 Shallow clone all flake inputs
Change geoclue provider to beacondb
Add popsicle
Add interpolation to default mpv
Download from vscode store while openvsx is down
Remove webp extension
2025-04-29 13:07:33 +01:00

94 lines
2.9 KiB
Nix

{ inputs, pkgs, ... }:
let
openvsx-extensions = inputs.nix-vscode-extensions.extensions.x86_64-linux.open-vsx;
vscode-extensions = inputs.nix-vscode-extensions.extensions.x86_64-linux.vscode-marketplace;
in
{
home.packages = with pkgs;[
(nerdfonts.override { fonts = [ "SpaceMono" ]; })
];
programs = {
vscode = {
enable = true;
package = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".vscodium;
mutableExtensionsDir = false;
enableUpdateCheck = false;
enableExtensionUpdateCheck = false;
extensions = with vscode-extensions;[
biomejs.biome
mkhl.direnv
dracula-theme.theme-dracula
dbaeumer.vscode-eslint
eamodio.gitlens
pkief.material-icon-theme
jnoortheen.nix-ide
esbenp.prettier-vscode
humao.rest-client
loriscro.super
mads-hartmann.bash-ide-vscode
foxundermoon.shell-format
dart-code.flutter
ms-vscode.wasm-wasi-core
rust-lang.rust-analyzer
tamasfe.even-better-toml
mikestead.dotenv
] ++ [ vscode-extensions.bradlc.vscode-tailwindcss ];
userSettings = with pkgs;{
"workbench.iconTheme" = "material-icon-theme";
"window.titleBarStyle" = "custom";
"workbench.colorTheme" = "Dracula Theme";
"explorer.compactFolders" = false;
"chat.commandCenter.enabled" = false;
"editor.fontFamily" = "'SpaceMono Nerd Font', 'monospace', monospace";
"editor.fontSize" = 16;
"editor.formatOnSave" = true;
"editor.codeActionsOnSave" = {
"source.organizeImports" = "always";
};
"files.autoSave" = "onWindowChange";
"[typescript]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[javascript]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[javascriptreact]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[typescriptreact]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[json]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"[jsonc]" = {
"editor.defaultFormatter" = "biomejs.biome";
};
"biome.lsp.bin" = "${biome}/bin/biome";
"biome.requireConfigFile" = true;
"typescript.preferences.preferTypeOnlyAutoImports" = true;
"nix.enableLanguageServer" = true; # Enable LSP.
"nix.serverPath" = "${nixd}/bin/nixd"; # The path to the LSP server executable.
"nix.serverSettings" = {
nixd = {
formatting.command = [ "${nixpkgs-fmt}/bin/nixpkgs-fmt" ];
};
};
"bashIde.shellcheckPath" = "${shellcheck}/bin/shellcheck";
"shellformat.path" = "${shfmt}/bin/shfmt";
"rust-analyzer.rustfmt.overrideCommand" = [ "${rustfmt}/bin/rustfmt" ];
};
};
};
}