feature(nvim): add typst support with lsp and preview for note taking

This commit is contained in:
2026-04-27 22:17:17 +02:00
parent 6dcbe4e7c7
commit a9f73167f3
2 changed files with 49 additions and 4 deletions

View File

@@ -2,9 +2,8 @@
{
programs.nixvim = {
globals.mapleader = " ";
enable = true;
viAlias = false;
viAlias = true;
vimAlias = true;
opts = {
number = true;
@@ -14,14 +13,59 @@
expandtab = true;
incsearch = true;
};
# nvim mapleader
globals.mapleader = " ";
# colorscheme
colorschemes.nord.enable = true;
# nvim plugins
plugins.indent-blankline.enable = true;
plugins.lualine.enable = true;
plugins.lsp = {
enable = true;
# lsp for typst
servers.tinymist = {
enable = true;
settings = {
formatterMode = "typstyle";
exportPdf = "onSave";
semanticTokens = "disable"; # treesitter handles highlighting better
};
};
# minimal lsp keymaps
keymaps.lspBuf = {
"K" = "hover";
"gd" = "definition";
"gr" = "references";
"<leader>f" = "format";
"<leader>rn" = "rename";
"<leader>ca" = "code_action";
};
};
plugins.nix.enable = true;
plugins.nvim-tree.enable = true;
plugins.treesitter.enable = true;
plugins.telescope.enable = true;
plugins.treesitter = {
enable = true;
settings.ensure_installed = [ "typst" ];
};
plugins.typst-preview = {
enable = true;
settings = {
open_cmd = "firefox %s";
dependencies_bin = {
tinymist = "tinymist";
websocat = null;
};
};
};
plugins.typst-vim = {
enable = true;
settings.pdf_viewer = "zathura";
};
plugins.web-devicons.enable = true;
plugins.indent-blankline.enable = true;
extraPlugins = [ pkgs.vimPlugins.plenary-nvim ];
};
}

View File

@@ -8,6 +8,7 @@
fastfetch
keepassxc
teamspeak6-client
zathura
];
# services and other software