I’m biased, but would recommend trying yadm.
https://yadm.io
I specifically have a design goal of very little external dependency. It only requires Git and Bash be present, so it is quite portable. Many people even use it on some network equipment. You can simply download the script if it isn’t packaged somewhere.
It can easily handle directories of files, but also submodules. Many people add vim plugin Git repos directly as submodules.
If you are familiar with Git, you’ll find yadm extremely easy to use. When you need them, more features are there to solve specific problems, like bootstrapping operations, encrypting private data, templating, or system dependent alternate files.
On a new system you can quickly bootstrap your existing dotfiles repo using https://bootstrap.yadm.io, without yadm installed yet. This is mostly useful if you’ve included yadm directly in you dotfiles (directly, or as a submodule, or as some installation during bootstrap).