summaryrefslogtreecommitdiff
path: root/machines
diff options
context:
space:
mode:
authorHenry J. Webster <hwebs@hwebs.info>2026-07-30 18:58:18 -0500
committerHenry J. Webster <hwebs@hwebs.info>2026-07-30 18:58:18 -0500
commit7498147ab59e26ad7a9d9c6e020ac1400e9b9524 (patch)
tree02c55b9f2a91d370d9efb7a63de1a9e00646e876 /machines
parent0838d095c1b45ca18a9397d6109d9bd3f0b0b62c (diff)
enzo: revert to Firefox; portal fix gives it dark content for free
LibreWolf forces web content light via its fingerprinting protection even with resistFingerprinting disabled and the portal read forced, so it never honored the desktop dark setting. Plain Firefox honors the portal out of the box (dark chrome and content) now that the portal serves prefer-dark via xdg-desktop-portal-gtk. Restore programs.firefox with the blank home/new-tab and no-bookmarks-toolbar policy prefs; drop the LibreWolf package and its RFP/widget workarounds. No theme prefs needed — dark comes from the portal. Assisted-by: Claude:claude-opus-4-8
Diffstat (limited to 'machines')
-rw-r--r--machines/enzo/desktop.nix76
1 files changed, 19 insertions, 57 deletions
diff --git a/machines/enzo/desktop.nix b/machines/enzo/desktop.nix
index 1e51e53..d92dda3 100644
--- a/machines/enzo/desktop.nix
+++ b/machines/enzo/desktop.nix
@@ -93,64 +93,26 @@
"input"
];
- users.users.hwebs.packages = with pkgs; [
- # LibreWolf with customizations baked into the package. There's no
- # programs.librewolf module, but librewolf is wrapFirefox-based, so
- # extraPolicies writes an enterprise policy into the package's distribution
- # dir — no profile, no /etc file. Dark theme is handled desktop-wide by the
- # portal (see color-scheme dconf key above), so no theme prefs needed here.
- (librewolf.override {
- extraPolicies = {
- DisableAppUpdate = true;
- Preferences = {
- # LibreWolf enables resistFingerprinting by default, which spoofs web
- # content's prefers-color-scheme to light — so sites ignore the
- # desktop dark setting (and devtools can't toggle it). Turn it off so
- # pages follow dark; LibreWolf keeps its other protections (uBlock, no
- # telemetry).
- #
- # Must be "locked", not "default": LibreWolf's mozilla.cfg does
- # defaultPref("privacy.resistFingerprinting", true), and a policy
- # "default" writes the same branch and loses the tie to the autoconfig.
- # "locked" wins over defaultPref.
- "privacy.resistFingerprinting" = {
- Value = false;
- Status = "locked";
- };
-
- # Follow the desktop's dark setting for web content. Firefox's default
- # (widget.use-xdg-desktop-portal.settings = 2 "auto") reads GTK
- # directly under bare niri and ignores the portal, so content stayed
- # light even after the portal correctly reported prefer-dark. Force it
- # to always use the portal (1) so prefers-color-scheme follows the
- # color-scheme we serve via xdg-desktop-portal-gtk above.
- "widget.use-xdg-desktop-portal.settings" = {
- Value = 1;
- Status = "default";
- };
-
- # Blank home page + blank new tab
- "browser.startup.homepage" = {
- Value = "about:blank";
- Status = "default";
- };
- "browser.startup.page" = {
- Value = 0; # 0 = blank on startup
- Status = "default";
- };
- "browser.newtabpage.enabled" = {
- Value = false;
- Status = "default";
- };
- # Hide the bookmarks toolbar
- "browser.toolbars.bookmarks.visibility" = {
- Value = "never";
- Status = "default";
- };
- };
- };
- })
+ # Firefox: blank home/new-tab and no bookmarks toolbar, delivered as an
+ # enterprise policy (no profile to manage). Dark theme is not configured here
+ # — it comes from the desktop portal (color-scheme dconf + Settings=gtk
+ # above), which Firefox honors for both chrome and web content. (LibreWolf was
+ # tried instead but forces content light via its fingerprinting protection
+ # even with resistFingerprinting off, so plain Firefox is the better fit.)
+ programs.firefox = {
+ enable = true;
+ preferencesStatus = "default";
+ preferences = {
+ # Blank home page + blank new tab
+ "browser.startup.homepage" = "about:blank";
+ "browser.startup.page" = 0; # 0 = blank on startup
+ "browser.newtabpage.enabled" = false;
+ # Hide the bookmarks toolbar
+ "browser.toolbars.bookmarks.visibility" = "never";
+ };
+ };
+ users.users.hwebs.packages = with pkgs; [
ghostty # terminal
fuzzel # launcher
swaybg # wallpaper