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
    9
    ·
    1 day 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

    • Obin@feddit.org
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      17 hours ago

      There are still things you can do with Firefox to fit the dotfiles pattern if you care enough. The files managing the profile and profile directory are mostly static and plain-text. For example I had a profiles.ini pointing to a fixed profile directory default containing a user.js file with most of my settings. You also need to update and commit the installs.ini for every machine, because Firefox insists to have a unique default-profile entry for every system/install. (And the actual setup was even more complicated and contained a merge-script to clone/update/merge multiple user.js sources, but most people wouldn’t need that)

      These days I use librewolf which has saner, more secure defaults and a more powerful global (profile-independent) config file. All I now store in my dotfiles is .librewolf/librewolf.overrides.cfg.

    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day 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.