shared config hooks