Why do you add the user config in a different branch? This will complicate setting up an existing config on a new computer because the setup command then has to clone and change branches. I image this is because your users don't have push access on the config repo and you went them to send a pull request?