tree 64b70c111ca423bde90886c9d6ea2cae1e2ea906
parent b51c0c9a8ab3d12f98b042c59ab7f77d31865e53
author Skyler Grey <skyler3665@gmail.com> 1661493115 +0100
committer Skyler Grey <skyler3665@gmail.com> 1662287680 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE1SCsjXyWkhJbK706Gv0QJWs8cU0FAmMUf38ACgkQGv0QJWs8
 cU1www//YJO7zwjJG7von24GhQ4CF+tfjU83pHS32xVvq2XHSYnPaYJmVDYf/jvJ
 GYU2UEm2UDL17PMuy4M+pOhuSAdBGeVLmaH0L4A4D3i1d51z3l0PELfwmDGmA/cD
 XkKQlKrScQC+Njy5LEh6IY5kDHHW1DcEscBVS3/7rsuam3jN8MKifdJs/GGzG6FC
 4zQ3gYgljEB7bHTp2G2Mnl5C3hvc9AXyKEpgSBZwJQOiygQ8Fni8q/boxWcxhs1v
 c4PMzh9fMbbVMqlOznR/fn3OtQuMMs/LjbPt5vYsUMqOUa7WgBuIQgQy5O0tthPM
 0YkHLykWDfeMJ9jviuJo7fqFTCJ4nzX9+DpCmGZNIVGo2xO70QHT83N5e0uXm5HO
 Ow/4043nnZHF0rbrn/6xQO20rWUUUnp+Oe4pXZ2fQjGV3ZvOeHV+kxJHnXbxgUfR
 j3fhGIhehFB1y9MAPojt/13QemmZULUhnM5gUaWWikoiutY007AG41ZdaN0aEhoY
 LMKKpqh8SlskmhM+H1Rzn69s41R6/UuHFIncwR9znbcIau9XeVxNc4rwCqRQIkNQ
 4t24beu6cGX1UYXrplkXwgKdZvTq60EJKWYhj1e5zqtyFPZG//NQhf/YwCodSyOm
 eA+/EvN9mEYPJsaKqK5iA293g7FJ/kRW0dcB9OAr5D2nIU6hW0U=
 =kFJm
 -----END PGP SIGNATURE-----

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
