1

Compare commits

...

3 Commits

2 changed files with 65 additions and 3 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 = {
@ -821,11 +824,10 @@ in {
# NOTE: This entire thing is rough, I should rewrite... # NOTE: This entire thing is rough, I should rewrite...
# TODO: Need to rewrite this once lspconfig 3.0 comes around # TODO: Need to rewrite this once lspconfig 3.0 comes around
# TODO: LSP servers don't autostart anymore...
lspconfig = { lspconfig = {
name = "lspconfig"; name = "lspconfig";
pkg = pkgs.vimPlugins.nvim-lspconfig; pkg = pkgs.vimPlugins.nvim-lspconfig;
lazy = true; lazy = false;
cmd = ["LspInfo"]; cmd = ["LspInfo"];
event = ["BufReadPost" "BufNewFile"]; event = ["BufReadPost" "BufNewFile"];
dependencies = [_lazydev]; dependencies = [_lazydev];
@ -939,6 +941,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
@ -987,10 +997,12 @@ in {
capabilities = __lspCapabilities(), capabilities = __lspCapabilities(),
} }
-- Enable configured servers
for i, server in ipairs(${servers}) do for i, server in ipairs(${servers}) do
if type(server) == "string" then if type(server) == "string" then
-- require("lspconfig")[server].setup(__setup) -- require("lspconfig")[server].setup(__setup)
vim.lsp.config(server, __setup) vim.lsp.config(server, __setup)
vim.lsp.enable(server)
else else
local options = server.extraOptions local options = server.extraOptions
@ -1002,6 +1014,7 @@ in {
-- require("lspconfig")[server.name].setup(options) -- require("lspconfig")[server.name].setup(options)
vim.lsp.config(server.name, options) vim.lsp.config(server.name, options)
vim.lsp.enable(server.name)
end end
end end
end end
@ -1499,6 +1512,8 @@ in {
line_length = 1000; line_length = 1000;
}; };
bufdelete.enabled = false;
dashboard = { dashboard = {
enabled = true; enabled = true;
@ -1560,11 +1575,24 @@ in {
}; };
}; };
debug.enabled = false;
dim.enabled = false;
explorer = { explorer = {
enabled = false; enabled = false;
replace_netrw = false; # Use yazi for that 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 = { notifier = {
enabled = true; 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; 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 +2164,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