1

Compare commits

..

3 Commits

2 changed files with 65 additions and 3 deletions

View File

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

View File

@ -52,6 +52,7 @@ in {
tailwindcss-language-server
tex-fmt
texlab
tinymist
typescript
vscode-langservers-extracted # includes nodejs
@ -78,6 +79,7 @@ in {
# nodePackages_latest.prettier # Use local install as plugins change per project
rustfmt
stylua
typstyle
]
];
};
@ -512,9 +514,10 @@ in {
nix = ["alejandra"];
python = ["black"];
qml = ["qmlformat"];
rust = ["rustfmt"];
svelte = ["prettierd" "prettier"];
typescript = ["prettierd" "prettier"];
rust = ["rustfmt"];
typst = ["typstyle"];
};
default_format_opts = {
@ -821,11 +824,10 @@ in {
# NOTE: This entire thing is rough, I should rewrite...
# TODO: Need to rewrite this once lspconfig 3.0 comes around
# TODO: LSP servers don't autostart anymore...
lspconfig = {
name = "lspconfig";
pkg = pkgs.vimPlugins.nvim-lspconfig;
lazy = true;
lazy = false;
cmd = ["LspInfo"];
event = ["BufReadPost" "BufNewFile"];
dependencies = [_lazydev];
@ -939,6 +941,14 @@ in {
{name = "svelte";}
{name = "tailwindcss";}
{name = "texlab";}
{
name = "tinymist";
extraOptions.settings = {
formatterMode = "typstyle";
exportPdf = "onType";
semanticTokens = "disable";
};
}
# {name = "jdtls";} # Don't set up when using nvim-jdtls
# {name = "rust_analyzer";} # Don't set up when using rustaceanvim
@ -987,10 +997,12 @@ in {
capabilities = __lspCapabilities(),
}
-- Enable configured servers
for i, server in ipairs(${servers}) do
if type(server) == "string" then
-- require("lspconfig")[server].setup(__setup)
vim.lsp.config(server, __setup)
vim.lsp.enable(server)
else
local options = server.extraOptions
@ -1002,6 +1014,7 @@ in {
-- require("lspconfig")[server.name].setup(options)
vim.lsp.config(server.name, options)
vim.lsp.enable(server.name)
end
end
end
@ -1499,6 +1512,8 @@ in {
line_length = 1000;
};
bufdelete.enabled = false;
dashboard = {
enabled = true;
@ -1560,11 +1575,24 @@ in {
};
};
debug.enabled = false;
dim.enabled = false;
explorer = {
enabled = false;
replace_netrw = false; # Use yazi for that
};
gh.enabled = false;
git.enabled = false;
gitbrowse.enabled = false;
image.enabled = false;
indent.enabled = false;
input.enabled = false;
keymap.enabled = false;
layout.enabled = false;
lazygit.enabled = true;
notifier = {
enabled = true;
};
@ -1597,6 +1625,20 @@ in {
};
};
};
profiler.enabled = false;
quickfile.enabled = false;
rename.enabled = false;
scope.enabled = false;
scratch.enabled = false;
scroll.enabled = false;
statuscolumn.enabled = false;
terminal.enabled = false;
toggle.enabled = false;
util.enabled = false;
win.enabled = false;
words.enabled = false;
zen.enabled = false;
};
};
@ -1888,6 +1930,24 @@ in {
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 = {
name = "promise";
pkg = pkgs.vimPlugins.promise-async;
@ -2104,6 +2164,7 @@ in {
trouble # Diagnostics window
ts-autotag # Automatic html tag insertion/updating
typescript-tools # Typescript tsserver LSP
typst-preview # Typst support
ufo # Code folding
vimtex # LaTeX support
# wakatime # Time tracking