Gitsigns was good enough for my workflows: https://github.com/lewis6991/gitsigns.nvim
Besides showing the git signs in the gutter, it can do staging, diffing, navigation between hunks, line blame, can show deleted lines etc. If you have more advanced workflows, it might not be enough though. I use lazygit quite often as well.