Modules/Neovim: Enable typst integration
This commit is contained in:
@ -14,6 +14,7 @@ in {
|
|||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
texliveFull
|
texliveFull
|
||||||
inkscape
|
inkscape
|
||||||
|
typst
|
||||||
];
|
];
|
||||||
|
|
||||||
file = {
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user