I'm switching to fish from zsh and I'm struggling to find the correct way to it setup for my taste. Also adding that I want to add it to my dotfiles repository. Should I version the whole ~/.config/fish folder?
Where should I put my environment variables? Should I just add them to the fish_variables config file? I was thinking on sourcing a file ~/variables.fish for the ones I don't want to version. Is this a good idea?
I use exa and ripgrep and I like to override grep and ls with them. Can I just set aliases for them overriding like I would with zsh/bash?
I want to use it inside neovim as well and I'm using the vi keybindings. Will this conflict with neovim? If so is there a way to make the vi keybindings active only outside of neovim?
It seems most of the stuff I use is provided by vanilla fish without plugins (which I'm quite happy about). Is there any tips or must have plugins I should install?