{
  pkgs,
  lib,
  ...
}: let
  plugins = (import ./extensions.lock) {
    pkgs = pkgs;
    lib = lib;
  };
in {
  programs.vscode = {
    extensions = with plugins; [
      # General
      james-yu.latex-workshop
    ];
    userSettings = {
      "latex-workshop.latex.recipe.default" = "tectonic";
      "latex-workshop.latex.autoBuild.run" = "onSave";
      "latex-workshop.latex.outDir" = "%WORKSPACE_FOLDER%/build/index";
      "latex-workshop.view.pdf.viewer" = "tab";
      "latex-workshop.latex.recipes" = [
        {
          "name" = "tectonic";
          "tools" = ["tectonic"];
        }
      ];
      "latex-workshop.latex.tools" = [
        {
          "name" = "tectonic";
          "command" = "tectonic";
          "args" = ["-X" "build" "--keep-intermediates" "--keep-logs"];
          "env" = {};
        }
      ];
    };
  };
}
