From 8f1cc582e9e35b7277ab1ea9cd28f171ea1988ac Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 27 Apr 2026 22:17:17 +0200 Subject: [PATCH 1/6] feature(nvim): add typst support with lsp and preview for note taking --- modules/home-manager/nixvim.nix | 62 ++++++++++++++++++++++++++++--- modules/home-manager/programs.nix | 1 + 2 files changed, 57 insertions(+), 6 deletions(-) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index bf001cd..797e3e0 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -4,9 +4,11 @@ programs.nixvim = { enable = true; - viAlias = false; + # set aliases + viAlias = true; vimAlias = true; + # default vim options opts = { number = true; relativenumber = true; @@ -16,19 +18,67 @@ incsearch = true; }; - colorschemes.nord.enable = true; + # nvim mapleader for all command below globals.mapleader = " "; + # set colorscheme to nord + colorschemes.nord.enable = true; + # nvim plugins + plugins.indent-blankline.enable = true; plugins.lualine.enable = true; plugins.nix.enable = true; plugins.nvim-tree.enable = true; + plugins.web-devicons.enable = true; + plugins.telescope = { + enable = true; + keymaps = { + "ff" = "find_files"; + "fg" = "live_grep"; + "fb" = "buffers"; + "fh" = "help_tags"; + }; + }; + plugins.lsp = { + enable = true; + servers.tinymist = { + enable = true; + settings = { + formatterMode = "typstyle"; + exportPdf = "onSave"; + semanticTokens = "disable"; # treesitter handles highlighting better + }; + }; + keymaps.lspBuf = { + "K" = "hover"; + "gd" = "definition"; + "gr" = "references"; + "f" = "format"; + "rn" = "rename"; + "ca" = "code_action"; + }; + }; plugins.treesitter = { enable = true; - settings.ensure_installed = [ "markdown" "markdown_inline" ]; + settings.ensure_installed = [ "markdown" "markdown_inline" "typst" ]; + }; + 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.telescope.enable = true; - plugins.web-devicons.enable = true; - plugins.indent-blankline.enable = true; plugins.render-markdown = { enable = true; settings = { 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 -- 2.47.3 From 9db2c9d76e8ee4f634a903a12bfc017006a206c3 Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 27 Apr 2026 22:23:59 +0200 Subject: [PATCH 2/6] feature(userprograms): add typst --- modules/home-manager/programs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/home-manager/programs.nix b/modules/home-manager/programs.nix index d5a3755..8f2abf5 100644 --- a/modules/home-manager/programs.nix +++ b/modules/home-manager/programs.nix @@ -8,6 +8,7 @@ fastfetch keepassxc teamspeak6-client + typst zathura ]; -- 2.47.3 From 975bccfe5ffcfc86f09f498982cb4362631584e2 Mon Sep 17 00:00:00 2001 From: aaron Date: Tue, 28 Apr 2026 19:14:22 +0200 Subject: [PATCH 3/6] fix(nixvim): remove double definition of treesitter --- modules/home-manager/nixvim.nix | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index 797e3e0..ae69448 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -61,10 +61,6 @@ enable = true; settings.ensure_installed = [ "markdown" "markdown_inline" "typst" ]; }; - plugins.treesitter = { - enable = true; - settings.ensure_installed = [ "typst" ]; - }; plugins.typst-preview = { enable = true; settings = { -- 2.47.3 From a6034ee47a1d8cda7d16c30466873a5f4e1bf205 Mon Sep 17 00:00:00 2001 From: aaron Date: Tue, 28 Apr 2026 19:19:04 +0200 Subject: [PATCH 4/6] fix(nixvim): telescope live grep needs ripgrep as dependency --- modules/home-manager/nixvim.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index ae69448..b38649c 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -87,4 +87,9 @@ }; }; }; + + # install dependencies + home.packages = with pkgs; [ + ripgrep + ]; } -- 2.47.3 From e0e2d999515ade96855472a661df9330a24b1b79 Mon Sep 17 00:00:00 2001 From: aaron Date: Tue, 28 Apr 2026 21:04:57 +0200 Subject: [PATCH 5/6] feature(nixvim): add pyright and ruff as linter and type checker --- modules/home-manager/nixvim.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index b38649c..a9c5e67 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -48,6 +48,9 @@ semanticTokens = "disable"; # treesitter handles highlighting better }; }; + servers.ansiblels.enable = true; + servers.pyright.enable = true; + servers.ruff.enable = true; keymaps.lspBuf = { "K" = "hover"; "gd" = "definition"; -- 2.47.3 From 1afbb9115fae1f6c66c6658bae97f0d6b9a9c022 Mon Sep 17 00:00:00 2001 From: aaron Date: Tue, 28 Apr 2026 21:09:15 +0200 Subject: [PATCH 6/6] fix(lsp): remove ansiblels since it isnt needed anyway --- modules/home-manager/nixvim.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index a9c5e67..612baba 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -48,7 +48,6 @@ semanticTokens = "disable"; # treesitter handles highlighting better }; }; - servers.ansiblels.enable = true; servers.pyright.enable = true; servers.ruff.enable = true; keymaps.lspBuf = { -- 2.47.3