firefox: prefs as default prefs through the systemconfig extension

prefs and vrFullscreenFix become default prefs (pref()) in
defaults/pref/steam-frame-nix.js of /app/etc/firefox, the mount point of
the org.mozilla.firefox.systemconfig extension point. home-manager
provides the extension as a user "unmaintained extension" link
($XDG_DATA_HOME/flatpak/extension/<id>/aarch64/stable) to a store dir,
which Flatpak mounts itself: the sandbox doesn't see /nix. Default prefs
are never written to prefs.js, so removing one leaves nothing behind.

The desktop profile undoes the fullscreen fix with a user.js linked to
/app/etc/firefox/steam-frame-nix-desktop-user.js. The sync (on switch,
and before each launch) removes the user.js copies and store links of
older versions and takes their values out of prefs.js, for each profile
not in use (Firefox holds .parentlock open).
This commit is contained in:
Pierre Kisters committed 2026-09-28 05:50:47 +02:00
1 parent fd97347e18
commit 4320a69b89
3 files changed
+162 -65

No files matched your search

+2
View File
@@ -54,6 +54,8 @@
# frameControls.enable = true;
# };
# firefox.enable = true; # launcher for the Firefox Flatpak
# # about:config defaults; the Frame decodes VP9/H.264 but not AV1:
# firefox.prefs."media.av1.enabled" = false;
# # Hardware video decoding in the Jellyfin Desktop Flatpak (install
# # org.jellyfin.JellyfinDesktop yourself); gives it devices=all:
# jellyfin.hardwareDecoding.enable = true;