From f4c9e5c83bcab571151d8fbd5ff7ddc9c1222724 Mon Sep 17 00:00:00 2001
From: Oliver Davies <oliver@oliverdavies.uk>
Date: Wed, 28 Sep 2022 08:23:10 +0100
Subject: [PATCH] feat(nvim): add Neovim plugins

---
 home-manager/modules/common.nix | 64 ++++++++++++++++++++++++++++++++-
 1 file changed, 63 insertions(+), 1 deletion(-)

diff --git a/home-manager/modules/common.nix b/home-manager/modules/common.nix
index 0a77fe82..c9aba955 100644
--- a/home-manager/modules/common.nix
+++ b/home-manager/modules/common.nix
@@ -2,8 +2,70 @@
 {
   home.packages = with pkgs; [
     just
-    neovim
   ];
 
   programs.bat.enable = true;
+
+  programs.neovim = {
+    enable = true;
+    vimAlias = true;
+    plugins = with pkgs; [
+      vimPlugins.comment-nvim
+      vimPlugins.git-worktree-nvim
+      vimPlugins.gitsigns-nvim
+      vimPlugins.harpoon
+      vimPlugins.impatient-nvim
+      vimPlugins.nvim-web-devicons
+      vimPlugins.refactoring-nvim
+      vimPlugins.rest-nvim
+      vimPlugins.vim-abolish
+      vimPlugins.vim-highlightedyank
+      vimPlugins.vim-polyglot
+      vimPlugins.vim-repeat
+      vimPlugins.vim-surround
+      vimPlugins.vim-test
+
+      # Treesitter
+      vimPlugins.nvim-treesitter
+      vimPlugins.nvim-treesitter-context
+      vimPlugins.nvim-treesitter-textobjects
+
+      # LSP
+      vimPlugins.null-ls-nvim
+      vimPlugins.nvim-lspconfig
+      vimPlugins.lsp-status-nvim
+
+      # Completion
+      vimPlugins.cmp-buffer
+      vimPlugins.cmp-cmdline
+      vimPlugins.cmp-nvim-lsp
+      vimPlugins.cmp-path
+      vimPlugins.cmp-treesitter
+      vimPlugins.cmp-vsnip
+      vimPlugins.cmp_luasnip
+      vimPlugins.lspkind-nvim
+      vimPlugins.nvim-cmp
+
+      vimPlugins.luasnip
+
+      # Telescope
+      vimPlugins.plenary-nvim
+      vimPlugins.popup-nvim
+      vimPlugins.telescope-file-browser-nvim
+      vimPlugins.telescope-fzf-native-nvim
+      vimPlugins.telescope-nvim
+      vimPlugins.telescope-ui-select-nvim
+
+      # Git
+      vimPlugins.neogit
+
+      # Databases
+      vimPlugins.vim-dadbod
+      vimPlugins.vim-dadbod-ui
+      vimPlugins.vim-dadbod-completion
+
+      # Themes
+      vimPlugins.nightfox-nvim
+    ];
+  };
 }