summaryrefslogtreecommitdiff
path: root/plugins/default.nix
diff options
context:
space:
mode:
authorseth <[email protected]>2023-09-17 04:54:00 -0400
committerseth <[email protected]>2023-10-07 12:55:41 -0400
commit9d0051e6b4170851ebcc09e7ff44097818c8e1dc (patch)
tree067e1d6b745fc61aeb9b885439482f946bbdf2fe /plugins/default.nix
parente910460767dd835c7fb8aa7a59082e645c207cbd (diff)
start using willruggiano/neovim.nix
Diffstat (limited to 'plugins/default.nix')
-rw-r--r--plugins/default.nix177
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;
+ };
+ };
+ };
+}