I use the same approach for maintaining a list of the Arch packages I use. This makes it very easy for me to install the programs that I use alot on a fresh system.
It could help to look into ansible to manage systems, if you only change your system through it, you can really go from new to productive in little time