Ensuring git is present when evaluating fetchGit

The setup I use does exactly this. Essentially my bootstrap script is in a nix-shell as above, and evaluates my home.nix environment, which contains the same home-manager and of course git (not explicitly mentioned in the linked post).

OK, you can’t directly bundle nix with git, you have to ensure it once at bootstrap time. After that, it will be part of your user environment, which is self-perpetuating by that design.