In theory this should be super easy on most Linux systems because of the software repos.
On Debian based systems, on your existing development machine, you can do:
dpkg --get-selections > installed_stuff.txt
Then copy the file "installed_stuff.txt" to the new machine/VM and do: dpkg --set-selections < installed_stuff.txt
It becomes a little more difficult when there are dependencies that aren't in the package system.Another thing I've found useful is to have a git repo with my config files. Then on a new machine I can clone the repo and have access to all of them. I've been meaning to write a script that copies everything to the right location, but haven't got around to it yet.