Firefox 147 Will Support The XDG Base Directory Specification

https://www.phoronix.com/news/Firefox-147-XDG-Base-Directory

128 points · 11 comments · view on lemmy.world

11 Comments

Marmaduke@lemmy.world · 22 pts · 261d (6 replies)

It's important to note that apparently there's no automatic migration path and this will be only used for new profiles, so you have to migrate manually.

Redjard@lemmy.dbzer0.com · 10 pts · 261d (4 replies)

In practice that should mean running mv ~/.mozilla ~/.config/mozilla.
Of course the old directory will still be detected and used if present, probably for a long time to come.

Samueru_sama@programming.dev · 11 pts · 261d (3 replies)

they are not following the spec if this is the solution.

  • data files (like extensions, sessions, etc) need to go in XDG_DATA_HOME.

  • config files (user preferences) need to go in XDG_CONFIG_HOME.

  • cache files need to go in XDG_CACHE_HOME.

  • log files need to go in XDG_STATE_HOME.

also hopefully they do check the variables and not just hardcoded ~/.config, ~/.local/share, etc

Redjard@lemmy.dbzer0.com · 8 pts · 261d (2 replies)

I think they mostly are.
Cache is already in .cache/mozilla, so usually there is no change hence I didn't mention it. They did move the cache to the XDG_CACHE_HOME by default. And yes they are using the XDG variables including the recommended fallback values.

The line between data and config has always been blurred, Most data in the browser is "data" until a user overrides it. Even extension files presence is linked with their configured state of being installed.
For log files I'm not sure anyone follows that. Besides firefox barely has any plain logs, I think having those in the profile is fine.
Currently it's all in XDG_CONFIG_HOME

soc@programming.dev · -3 pts · 261d (1 reply)

Always good to know that after sitting on it for 2 decades, shipping some half-assed shit was the best they could do.

Ephera@lemmy.ml · 3 pts · 261d

The implications would be massive and I do not think most power users would benefit from it being broken up like that. Being able to backup or sync your entire Firefox profile by copying one directory is quite useful.

soc@programming.dev · 2 pts · 261d

Yikes, thanks! Good to know.

just_another_person@lemmy.world · 14 pts · 261d

Good gawd, finally.

higgsboson@piefed.social · 11 pts · 261d

https://specifications.freedesktop.org/basedir/latest/

The XDG Base Directory Specification is based on the following concepts:

There is a single base directory relative to which user-specific data files should be written. This directory is defined by the environment variable $XDG_DATA_HOME.

There is a single base directory relative to which user-specific configuration files should be written. This directory is defined by the environment variable $XDG_CONFIG_HOME.

There is a single base directory relative to which user-specific state data should be written. This directory is defined by the environment variable $XDG_STATE_HOME.

There is a single base directory relative to which user-specific executable files may be written.

There is a set of preference ordered base directories relative to which data files should be searched. This set of directories is defined by the environment variable $XDG_DATA_DIRS.

There is a set of preference ordered base directories relative to which configuration files should be searched. This set of directories is defined by the environment variable $XDG_CONFIG_DIRS.

There is a single base directory relative to which user-specific non-essential (cached) data should be written. This directory is defined by the environment variable $XDG_CACHE_HOME.

There is a single base directory relative to which user-specific runtime files and other file objects should be placed. This directory is defined by the environment variable $XDG_RUNTIME_DIR.

soc@programming.dev · -1 pts · 261d (1 reply)

I tried it and moved the directory. Results:

  • Firefox opens, settings from the profile are still there.
  • Empty ./mozilla/extensions directories are recreated on startup.
  • Firefox cannot show any websites anymore.

Yikes.

Ephera@lemmy.ml · 5 pts · 261d

You're using Nightly. There be dragons...