ma1w4re
Lol relatable haha
Time to buy a rope
Sorry if it comes out robotic, since I don’t use stow myself I just opened the manual and parsed it for you.
You manually create the repo of packages ONCE and then use stow to deploy them without having to link stuff manually every time.
As for “what’s it doing for me”, stow is just a generic deployment script that somebody else has written for you. You can just as well create your own and do it your way.
I personally used to have a bash script with one custom function “symlink” that error checked the linking process and a list of target/destination under the function.
Now I’m trying to code a python script similar to stow that works with packages of configs but instead of recreating paths inside the package you just provide a json file with target/destination for each file in the package.
Both of my ways have same shortcoming as stow: you have to do some manual work before the script can kick in.
Hopefully my messages have been helpful.
Recreating a path to original locations is a way to configure stow.
You can utilize bash to automate it. Mkdir can create entire trees in a single command.
After links were created you start using your configured software.
It’s a link farm built using a packaging system. You put your configs into a “package” and then link said package where it belongs.
Git is useful not as a combination for stow, but a standalone way to version control your configs.
For nonidentical devices you create additional packages prefixed with specific device name. You don’t need to link all packages at once with stow, pass a name of a package to link it alone.