diff options
Diffstat (limited to 'plugins/default.nix')
| -rw-r--r-- | plugins/default.nix | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/plugins/default.nix b/plugins/default.nix new file mode 100644 index 0000000..6f36f04 --- /dev/null +++ b/plugins/default.nix @@ -0,0 +1,177 @@ +{pkgs, ...}: let + inherit (pkgs) vimPlugins; +in rec { + config = { + src = ../config; + lazy = false; + priority = 1000; + }; + + catppuccin-nvim = { + package = vimPlugins.catppuccin-nvim; + + config = ./catppuccin.lua; + }; + + fidget-nvim = { + package = vimPlugins.fidget-nvim.overrideAttrs (_: { + src = pkgs.fetchFromGitHub { + owner = "j-hui"; + repo = "fidget.nvim"; + rev = "41f327b53c7977d47aee56f05e0bdbb4b994c5eb"; + hash = "sha256-v9qARsW8Gozit4Z3+igiemjI467QgRhwM+crqwO9r6U="; + }; + }); + }; + + flash-nvim = { + package = vimPlugins.flash-nvim; + event = "VeryLazy"; + }; + + gitsigns-nvim = { + package = vimPlugins.gitsigns-nvim; + event = ["BufReadPre" "BufNewFile"]; + }; + + indent-blankline-nvim = { + package = vimPlugins.indent-blankline-nvim; + + event = ["BufReadPost" "BufNewFile"]; + + config = { + filetype_exclude = [ + "help" + "neo-tree" + "Trouble" + "lazy" + "mason" + "notify" + "toggleterm" + ]; + show_trailing_blankline_indent = false; + show_current_context = false; + }; + }; + + lualine-nvim = { + package = vimPlugins.lualine-nvim; + + event = "VeryLazy"; + + dependencies = { + nvim-web-devicons.package = vimPlugins.nvim-web-devicons; + }; + + config = ./lualine.lua; + }; + + neo-tree-nvim = { + package = vimPlugins.neo-tree-nvim; + dependencies = { + plenary-nvim.package = vimPlugins.plenary-nvim; + inherit (lualine-nvim.dependencies) nvim-web-devicons; + inherit nui-nvim; + }; + + config = ./neo-tree.lua; + }; + + # TODO: configure mini.pairs, mini.indentscope, & mini.comment + mini-nvim.package = vimPlugins.mini-nvim; + + nvim-cmp = { + package = vimPlugins.nvim-cmp; + dependencies = { + cmp-nvim-lsp.package = vimPlugins.cmp-nvim-lsp; + cmp-buffer.package = vimPlugins.cmp-buffer; + cmp_luasnip.package = vimPlugins.cmp_luasnip; + cmp-async-path.package = vimPlugins.cmp-async-path; + luasnip.package = vimPlugins.luasnip; + }; + + event = "InsertEnter"; + config = ./cmp.lua; + }; + + dressing-nvim = { + package = vimPlugins.dressing-nvim; + lazy = true; + init = ./dressing.lua; + }; + + noice-nvim = { + package = vimPlugins.noice-nvim; + event = "VeryLazy"; + + config = ./noice.lua; + }; + + nui-nvim = { + package = vimPlugins.nui-nvim; + lazy = true; + }; + + nvim-lspconfig = { + package = vimPlugins.nvim-lspconfig; + + event = ["BufReadPre" "BufNewFile"]; + config = ./lspconfig.lua; + }; + + nvim-treesitter = { + package = vimPlugins.nvim-treesitter.withAllGrammars; + dependencies = { + nvim-ts-context-commentstring.package = vimPlugins.nvim-ts-context-commentstring; + }; + + event = ["BufReadPost" "BufNewFile"]; + config = { + auto_install = false; + highlight.enable = true; + indent.enable = true; + context_commentstring = { + enable = true; + enable_autocmd = false; + }; + }; + }; + + null-ls = { + package = vimPlugins.null-ls-nvim; + dependencies = { + inherit (neo-tree-nvim.dependencies) plenary-nvim; + }; + + config = ./null-ls.lua; + }; + + bufferline-nvim = { + package = vimPlugins.bufferline-nvim; + dependencies = { + inherit (lualine-nvim.dependencies) nvim-web-devicons; + inherit catppuccin-nvim; + }; + + config = ./bufferline.lua; + }; + + telescope-nvim.package = vimPlugins.telescope-nvim; + + trouble-nvim = { + package = vimPlugins.trouble-nvim; + dependencies = { + inherit (lualine-nvim.dependencies) nvim-web-devicons; + }; + }; + + which-key-nvim = { + package = vimPlugins.which-key-nvim; + event = "VeryLazy"; + config = { + plugins = { + spelling = true; + }; + }; + }; +} |
