https://www.crosseye.org/blog/rebuild-config-file/