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/airline/parts.vim b/modules/neovim/airline/parts.vim
new file mode 100644
index 0000000..34e07e6
--- /dev/null
+++ b/modules/neovim/airline/parts.vim
@@ -0,0 +1,17 @@
+set statusline=%t       "tail of the filename
+        set statusline+=[%{strlen(&fenc)?&fenc:'none'}, "file encoding
+        set statusline+=%{&ff}] "file format
+        set statusline+=%h      "help file flag
+        set statusline+=%m      "modified flag
+        set statusline+=%r      "read only flag
+        set statusline+=%y      "filetype
+        set statusline+=%=      "left/right separator
+        set statusline+=%c,     "cursor column
+        set statusline+=%l/%L   "cursor line/total lines
+        set statusline+=\ %P    "percent through file
+" TODO: Check if this is actually used with airline
+
+let g:airline#extensions#hunks#coc_git = 1
+let g:airline#extensions#whitespace#enabled = 1
+let g:airline#parts#ffenc#skip_expected_string='utf-8[unix]'
+let g:airline_skip_empty_sections = 1