From c4b904d1af74af9957e402122611b6c3106c84e1 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Wed, 13 Dec 2023 17:10:30 +0100 Subject: [PATCH] librewolf: Init This is currently in testing, as qutebrowser has some severe drawbacks. --- users/simon/modules/default.nix | 1 + users/simon/modules/librewolf.nix | 31 ++++++++++++++++++++++++++++ users/simon/modules/sway/default.nix | 1 + users/simon/modules/xdg.nix | 2 +- 4 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 users/simon/modules/librewolf.nix diff --git a/users/simon/modules/default.nix b/users/simon/modules/default.nix index a6c3c07..be44fc8 100644 --- a/users/simon/modules/default.nix +++ b/users/simon/modules/default.nix @@ -10,6 +10,7 @@ ./gpg.nix ./gtk.nix ./htop.nix + ./librewolf.nix ./logitech.nix ./mail ./makemkv.nix diff --git a/users/simon/modules/librewolf.nix b/users/simon/modules/librewolf.nix new file mode 100644 index 0000000..4c4794e --- /dev/null +++ b/users/simon/modules/librewolf.nix @@ -0,0 +1,31 @@ +{ config, lib, nixosConfig, ... }: +let + mkOverridesFile = prefs: '' + // Generated by Home Manager. + // Function taken from upstream home-manger, + // modified to use pref instead of defaultPref. + + ${lib.concatStrings (lib.mapAttrsToList (name: value: '' + pref("${name}", ${builtins.toJSON value}); + '') prefs)} + ''; +in +lib.mkIf nixosConfig.sbruder.gui.enable { + programs.librewolf = { + enable = true; + settings = { + "accessibility.force_disabled" = 1; + "browser.uidensity" = 1; # more compact layout + "identity.fxaccounts.enabled" = true; + "middlemouse.paste" = false; + "network.http.referer.XOriginPolicy" = 2; + "privacy.clearOnShutdown.history" = false; + "webgl.disabled" = false; # requires installing CanvasBlocker + + #"privacy.resistFingerprinting.letterboxing" = true; # quite annoying + }; + }; + + # overrides home-manager’s definition + home.file.".librewolf/librewolf.overrides.cfg".text = lib.mkForce (mkOverridesFile config.programs.librewolf.settings); +} diff --git a/users/simon/modules/sway/default.nix b/users/simon/modules/sway/default.nix index eb8963a..8962cdd 100644 --- a/users/simon/modules/sway/default.nix +++ b/users/simon/modules/sway/default.nix @@ -197,6 +197,7 @@ in "2" = [ { app_id = "firefox"; } { app_id = "org.qutebrowser.qutebrowser"; } + { class = "librewolf"; } { class = "qutebrowser"; } # workaround for qutebrowser running under Xwayland #{ class="Chromium"; } ]; diff --git a/users/simon/modules/xdg.nix b/users/simon/modules/xdg.nix index 77dd641..7c047f1 100644 --- a/users/simon/modules/xdg.nix +++ b/users/simon/modules/xdg.nix @@ -5,7 +5,7 @@ enable = nixosConfig.sbruder.gui.enable; defaultApplications = let - browser = "org.qutebrowser.qutebrowser.desktop"; + browser = "librewolf.desktop"; in { "application/pdf" = "org.pwmt.zathura.desktop";