1

Modules/Neovim: Enable typst integration

This commit is contained in:
2025-11-23 18:46:30 +01:00
parent b294789609
commit 195a821b86
2 changed files with 32 additions and 1 deletions

View File

@ -14,6 +14,7 @@ in {
packages = with pkgs; [ packages = with pkgs; [
texliveFull texliveFull
inkscape inkscape
typst
]; ];
file = { file = {

View File

@ -52,6 +52,7 @@ in {
tailwindcss-language-server tailwindcss-language-server
tex-fmt tex-fmt
texlab texlab
tinymist
typescript typescript
vscode-langservers-extracted # includes nodejs vscode-langservers-extracted # includes nodejs
@ -78,6 +79,7 @@ in {
# nodePackages_latest.prettier # Use local install as plugins change per project # nodePackages_latest.prettier # Use local install as plugins change per project
rustfmt rustfmt
stylua stylua
typstyle
] ]
]; ];
}; };
@ -512,9 +514,10 @@ in {
nix = ["alejandra"]; nix = ["alejandra"];
python = ["black"]; python = ["black"];
qml = ["qmlformat"]; qml = ["qmlformat"];
rust = ["rustfmt"];
svelte = ["prettierd" "prettier"]; svelte = ["prettierd" "prettier"];
typescript = ["prettierd" "prettier"]; typescript = ["prettierd" "prettier"];
rust = ["rustfmt"]; typst = ["typstyle"];
}; };
default_format_opts = { default_format_opts = {
@ -939,6 +942,14 @@ in {
{name = "svelte";} {name = "svelte";}
{name = "tailwindcss";} {name = "tailwindcss";}
{name = "texlab";} {name = "texlab";}
{
name = "tinymist";
extraOptions.settings = {
formatterMode = "typstyle";
exportPdf = "onType";
semanticTokens = "disable";
};
}
# {name = "jdtls";} # Don't set up when using nvim-jdtls # {name = "jdtls";} # Don't set up when using nvim-jdtls
# {name = "rust_analyzer";} # Don't set up when using rustaceanvim # {name = "rust_analyzer";} # Don't set up when using rustaceanvim
@ -1888,6 +1899,24 @@ in {
config = mkDefaultConfig name; config = mkDefaultConfig name;
}; };
typst-preview = rec {
name = "typst-preview";
pkg = pkgs.vimPlugins.typst-preview-nvim;
lazy = true;
ft = ["typst"];
config = mkDefaultConfig name;
opts = {
dependencies_bin.__raw = ''
{
['tinymist'] = "${pkgs.tinymist}/bin/tinymist",
['websocat'] = "${pkgs.websocat}/bin/websocat"
}
'';
# open_cmd = "qutebrowser %s";
# open_cmd = "firefox %s -P typst-preview --class typst-preview";
};
};
_promise = { _promise = {
name = "promise"; name = "promise";
pkg = pkgs.vimPlugins.promise-async; pkg = pkgs.vimPlugins.promise-async;
@ -2104,6 +2133,7 @@ in {
trouble # Diagnostics window trouble # Diagnostics window
ts-autotag # Automatic html tag insertion/updating ts-autotag # Automatic html tag insertion/updating
typescript-tools # Typescript tsserver LSP typescript-tools # Typescript tsserver LSP
typst-preview # Typst support
ufo # Code folding ufo # Code folding
vimtex # LaTeX support vimtex # LaTeX support
# wakatime # Time tracking # wakatime # Time tracking