talkgroup

GNU Stow

https://www.gnu.org/software/stow/

GNU Stow is a symlink farm manager which takes distinct packages of software and/or data located in separate directories on the filesystem, and makes them appear to be installed in the same place. For example, /usr/local/bin could contain symlinks to files within /usr/local/stow/emacs/bin , /usr/local/stow/perl/bin etc., and likewise recursively for any other subdirectories such as .../share , .../man , and so on.

This is particularly useful for keeping track of system-wide and per-user installations of software built from source, but can also facilitate a more controlled approach to management of configuration files in the user’s home directory, especially when coupled with version control systems.

GNU Stow was very useful in a time when package managers were much more difficult, and seems to have pivoted to dotfile management.

From GNU Stow manual - GNU Project - Free Software Foundation, the introduction:

While this is useful for keeping track of system-wide and per-user installations of software built from source, in more recent times software packages are often managed by more sophisticated package management software such as rpm , dpkg , and Nix / GNU Guix, or language-native package managers such as Ruby’s gem , Python’s pip , Javascript’s npm , and so on.

However Stow is still used not only for software package management, but also for other purposes, such as facilitating a more controlled approach to management of configuration files in the user’s home directory2, especially when coupled with version control systems3.

It is very nifty and I use it to sync dotfiles/configuration between computers.