{ pkgs, lib, ... }: let plugins = (import ./extensions.lock) { pkgs = pkgs; lib = lib; }; in { programs.vscode = { extensions = with plugins; [ # General christian-kohler.npm-intellisense dbaeumer.vscode-eslint denoland.vscode-deno esbenp.prettier-vscode liamhammett.inline-parameters yatki.vscode-surround # Astro astro-build.astro-vscode # CSS bradlc.vscode-tailwindcss pranaygp.vscode-css-peek stylelint.vscode-stylelint zignd.html-css-class-completion # ServiceNow arnoudkooicom.sn-scriptsync # Svelte svelte.svelte-vscode # Tauri tauri-apps.tauri-vscode # Testing ms-playwright.playwright ]; userSettings = { "[javascript]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[typescript]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[typescriptreact]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[json]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[jsonc]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[html]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[scss]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[css]"."editor.defaultFormatter" = "esbenp.prettier-vscode"; "[astro]"."editor.defaultFormatter" = "astro-build.astro-vscode"; "biome.lsp.bin" = "biome"; "biome.lspBin" = "biome"; "svelte.enable-ts-plugin" = true; "playwright.reuseBrowser" = true; }; }; home.packages = with pkgs; [ deno pnpm bun nodejs biome ]; }