Okay, so I’ve been reading about dotfile management apps such as GNU Stow, and I love the idea. I have a good grasp on how it works. Seems like it should work flawlessly for corralling all my dotfiles into one folder so I can easily clone them across machines. Makes sense for apps whose config folders and files are named something static like ~/.config/appname/settings.conf.
That said, can somebody help me understand the cloning/syncing workflow for apps that generate folders and/or files with dynamic/random/inconsistent names? For example, I’m thinking of Firefox, which creates folders with seemingly random strings for each profile.
Do I just need to clone my Firefox profiles before I launch Firefox for the first time on a new machine? Can I configure GNU Stow w/ something like *.Profile for the top level folder name? Am I doomed to manually syncing my Firefox settings, or is there some other trick for handling these dynamically named configs that I haven’t come across in the tutorials yet? This little cliff hanger is pretty much the last thing stopping me from installing GNU Stow at this point. Thank you!
When I think of dotfile management, I think it means handling standalone config files that are a few KB, intended to be user-editable, and are probably not changed by the running program itself.
I don’t think the Firefox config files meet those criteria. I don’t know, because I just leave them alone. I think a better tool for managing Firefox config would be to sync your profile, either through their servers or by self-hosting a sync server
Yeah, I’ll have to study some more examples and read the docs. With some creativity I might be able to finagle something using the
--targetoption. Thanks for weighing in.
Stow has no “glob for target” option, so you can’t do *.profile.
You could write a script that, when you’re deploying a stow, symlinks the profile into the right location. You’d have to remember to run it in the future so create a README file and include the instructions.
You mean write a script with something like
findfollowed bystow --target=/path/to/profile/folder firefox?Yeah, exactly. You could glob with find to locate the directory, store the path in a variable and then pass that to stow.
I’m not sure what you have to do to make Firefox acknowledge the profile, but I believe it simply enumerates all of the folders in the directory and displays all that are valid (but definitely double check on that first).

