Keeping scripts and application
up-to-date between machines can be a real hassle.
To deal with this, I version my config files using git, and install
them in the right place using this tool (
GNU Stow is a viable alternative, but
more complex than I deemed necessary and dependent on perl.
The program fits inside a single, small C file (~230 LOC).
It supports two modes of operation, install and uninstall, both taking
During install, symlinks for files in
SRC are created in
dangling symlinks in
DST that point into
SRC are removed. If a path
already exists in
DST, it is only replaced if it is a symlink or
was specified to force the operation.
During uninstall, all symlinks in
DST pointing into
SRC are removed.
The source code is available at: https://git.sinitax.com/linkup