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.
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.inipointing to a fixed profile directorydefaultcontaining auser.jsfile with most of my settings. You also need to update and commit theinstalls.inifor 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.