Ansible and my own python script.<p>I use ansible, to template my gitconfig for different unix machines, and to install software that might be referenced in a dotfile<p><a href="https:&#x2F;&#x2F;github.com&#x2F;berdario&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;setup&#x2F;roles&#x2F;common&#x2F;tasks&#x2F;main.yml" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;berdario&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;setup&#x2F;roles...</a><p><a href="https:&#x2F;&#x2F;github.com&#x2F;berdario&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;setup&#x2F;feynman.yml" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;berdario&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;setup&#x2F;feynm...</a><p>(I have a separate branch for windows, but I found out that branches are not a good solution for this, since unlike feature branches, they&#x27;ll never be truly merged... and unlike maintainance branches, they&#x27;ll never stop being touched due to being out of maintanance)<p>And I use my own script, to also support Windows (since ansible supports windows targets, but cannot be used from Windows)... I defined this table with the destination for the symlinks (or, in the case of .ghci the destination where to copy it, since symlinking it wouldn&#x27;t work)<p><a href="https:&#x2F;&#x2F;github.com&#x2F;berdario&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;deploy.py#L91-L107" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;berdario&#x2F;dotfiles&#x2F;blob&#x2F;master&#x2F;deploy.py#L...</a>