I’ll be frank - I never have, though I probably should. For me, if an application’s configuration ever annoys me enough, I just manually copy the config from a machine that I already did the config.
One day, I may set up a shell script based on Debian’s Debootstrap that feeds it a list of packages (I think you can provide it a text file with a list of packages) to get everything set up, but that day is not today.