I&#x27;ve probably spent hundreds of hours across all my configs over the years. In the old days, I&#x27;d rsync config files manually. Having frustrating times where I had to start everything over again.<p>I have a lot to say on the subject.<p>1. Like other users here, git is a great way version your files. Not just that, it handles the issue you have with keeping the configs of various systems in sync.<p>1b. It doesn&#x27;t have to be GitHub, but understand pushing to <i>some</i> remote gives you a backup, and a way to keep the latest configs you have in sync across multiple machines.<p>2. As a rule of thumb, the more POSIX compliant you are, the more cross-compatible your dot-configs will be. In my case, a great deal of my config works superbly across Ubuntu, FreeBSD and OS X with no modification whatsoever.<p>3. dotfiles (<a href="https:&#x2F;&#x2F;pypi.python.org&#x2F;pypi&#x2F;dotfiles" rel="nofollow">https:&#x2F;&#x2F;pypi.python.org&#x2F;pypi&#x2F;dotfiles</a>) is very helpful for building those initial symlinks.<p>4. Tangentially related is PATH&#x27;s. Definitely be sure you&#x27;re not accidentally appending multiple one&#x27;s over again or omitting ones you want to search. For this, I recommend a pathappend function like one used at <a href="http:&#x2F;&#x2F;superuser.com&#x2F;a&#x2F;753948" rel="nofollow">http:&#x2F;&#x2F;superuser.com&#x2F;a&#x2F;753948</a>.<p>5. As for managing vim &#x2F; neovim, I&#x27;m coming to the realization the amount of time I&#x27;ve spent trying to configure completion &#x2F; fix tiny things over the years probably makes me lose the net benefit vim has given me. Too bad there is no intellij for the CLI. In any event, I keep a vim config at <a href="https:&#x2F;&#x2F;github.com&#x2F;tony&#x2F;vim-config" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tony&#x2F;vim-config</a> which I document extensively. It has quite a lot of bells and whistles, but lazy loads and checks the system before installing certain plugins. It should work with neovim too.<p>I keep my central dot-configs (along with its submodules) at <a href="https:&#x2F;&#x2F;github.com&#x2F;tony&#x2F;.dot-config" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tony&#x2F;.dot-config</a>. Its permissively licensed, so feel free to copy whatever you&#x27;d like.