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/modules/neovim/binds/binds.vim b/modules/neovim/binds/binds.vim
new file mode 100644
index 0000000..c26e705
--- /dev/null
+++ b/modules/neovim/binds/binds.vim
@@ -0,0 +1,19 @@
+set whichwrap=b,s,<,>,[,]
+set mouse=a
+
+vnoremap // y/\V<C-R>=escape(@",'/\')<CR><CR>
+
+fun! SetupCommandAlias(from, to)
+    exec 'cnoreabbrev <expr> '.a:from
+    \ .' ((getcmdtype() is# ":" && getcmdline() is# "'.a:from.'")'
+    \ .'? ("'.a:to.'") : ("'.a:from.'"))'
+endfun
+
+command W w
+command Wq wq
+call SetupCommandAlias("git","Git")
+
+set ignorecase
+set smartcase
+
+set expandtab