Enable neovim through home-manager

- We need to set the default editor to just "nvim" not a particular path, as
  this allows us to override nvim in our home
- Add the mapleader bind to the start of init.vim
- As the leader is interpreted whenever we make a keybind, we must have it at
  the start or it won't be respected for some of our keybinds (but will be for
  others)
- Package the scrollbar plugin and install it
- Setup configs for stuff like treesitter, theme, COC, scrollbar etc.
- Add git capabilities to neovim
- Install fugitive, gitgutter and git-conflict, along with some other basic git
  stuff
- Allow mouse control in neovim
diff --git a/packages/git-conflict-nvim.nix b/packages/git-conflict-nvim.nix
new file mode 100644
index 0000000..d568470
--- /dev/null
+++ b/packages/git-conflict-nvim.nix
@@ -0,0 +1,13 @@
+{
+  vimUtils,
+  fetchFromGitHub,
+}:
+vimUtils.buildVimPlugin {
+  name = "git-conflict-nvim";
+  src = fetchFromGitHub {
+    owner = "akinsho";
+    repo = "git-conflict.nvim";
+    rev = "80bc8931d4ed8c8c4d289a08e1838fcf4741408d";
+    hash = "sha256-tBKGjzKK/SftivTgdujk4NaIxz8sUNyd9ULlGKAL8x8=";
+  };
+}
diff --git a/packages/nvim-scrollbar.nix b/packages/nvim-scrollbar.nix
new file mode 100644
index 0000000..2bd84f2
--- /dev/null
+++ b/packages/nvim-scrollbar.nix
@@ -0,0 +1,13 @@
+{
+  vimUtils,
+  fetchFromGitHub,
+}:
+vimUtils.buildVimPlugin {
+  name = "nvim-scrollbar";
+  src = fetchFromGitHub {
+    owner = "petertriho";
+    repo = "nvim-scrollbar";
+    rev = "ce0df6954a69d61315452f23f427566dc1e937ae";
+    hash = "sha256-EqHoR/vdifrN3uhrA0AoJVXKf5jKxznJEgKh8bXm2PQ=";
+  };
+}