{
  pkgs,
  lib,
  ...
}: let
  plugins = (import ./extensions.lock) {
    pkgs = pkgs;
    lib = lib;
  };
in {
  programs.vscode = {
    extensions = with plugins; [
      # General
      christian-kohler.npm-intellisense
      esbenp.prettier-vscode
      liamhammett.inline-parameters
      mgmcdermott.vscode-language-babel
      yatki.vscode-surround

      # CSS
      bradlc.vscode-tailwindcss
      pranaygp.vscode-css-peek
      stylelint.vscode-stylelint
      zignd.html-css-class-completion

      # ServiceNow
      #servicenow.now-vscode
      arnoudkooicom.sn-scriptsync

      # Svelte
      svelte.svelte-vscode

      # Tauri
      tauri-apps.tauri-vscode
    ];
    userSettings = {
      "[javascript]"."editor.defaultFormatter" = "esbenp.prettier-vscode";
      "[typescript]"."editor.defaultFormatter" = "esbenp.prettier-vscode";
      "[typescriptreact]"."editor.defaultFormatter" = "esbenp.prettier-vscode";
      "svelte.enable-ts-plugin" = true;
    };
  };
}
