diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index bf001cd..612baba 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,65 @@ 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 + }; + }; + servers.pyright.enable = true; + servers.ruff.enable = true; + 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.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 = { @@ -41,4 +89,9 @@ }; }; }; + + # install dependencies + home.packages = with pkgs; [ + ripgrep + ]; } diff --git a/modules/home-manager/programs.nix b/modules/home-manager/programs.nix index 6d63b69..8f2abf5 100644 --- a/modules/home-manager/programs.nix +++ b/modules/home-manager/programs.nix @@ -8,6 +8,8 @@ fastfetch keepassxc teamspeak6-client + typst + zathura ]; # services and other software