From a9f73167f33ee8728c8deea57008019a73435a27 Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 27 Apr 2026 22:17:17 +0200 Subject: [PATCH] feature(nvim): add typst support with lsp and preview for note taking --- modules/home-manager/nixvim.nix | 52 ++++++++++++++++++++++++++++--- modules/home-manager/programs.nix | 1 + 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index 355dae1..5f1a774 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -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"; + "f" = "format"; + "rn" = "rename"; + "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 ]; }; } diff --git a/modules/home-manager/programs.nix b/modules/home-manager/programs.nix index 6d63b69..d5a3755 100644 --- a/modules/home-manager/programs.nix +++ b/modules/home-manager/programs.nix @@ -8,6 +8,7 @@ fastfetch keepassxc teamspeak6-client + zathura ]; # services and other software