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!

  • 2910000@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    1 month ago

    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

    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      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 --target option. Thanks for weighing in.

  • FauxLiving@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 month ago

    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.

    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 month ago

      You mean write a script with something like find followed by stow --target=/path/to/profile/folder firefox?

      • FauxLiving@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 month ago

        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).