That's certainly a very solid, awesome way of doing it, and would be best from a user-experience-and-ease point of view. If you have the time and energy, that'd be awesome.
That said, there are certainly easier ways to do it, and I think it would be perfectly reasonable to give users a set of commands to run. Something like... when you trigger a reinstallation, it first prompts you to reset your forks with some sort of "hi! to do this, this will DELETE YOUR CHANGES ON GITHUB! you have to do..." and then give them some git commands to run.
So the process would actually check out official dw-free/dw-nonfree repositories, then it would prompt the user to force push those up to their own github forks.
no subject
That said, there are certainly easier ways to do it, and I think it would be perfectly reasonable to give users a set of commands to run. Something like... when you trigger a reinstallation, it first prompts you to reset your forks with some sort of "hi! to do this, this will DELETE YOUR CHANGES ON GITHUB! you have to do..." and then give them some git commands to run.
So the process would actually check out official dw-free/dw-nonfree repositories, then it would prompt the user to force push those up to their own github forks.
I think that'd be perfectly acceptable, too.