aboutsummaryrefslogtreecommitdiff
path: root/pkgs/applications/networking/browsers/firefox/wrapper.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox/wrapper.nix')
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix14
1 files changed, 8 insertions, 6 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index f9b7f2bb8a2e..7f0b826f905e 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -41,7 +41,7 @@ let
# https://github.com/mozilla/policy-templates#enterprisepoliciesenabled
, extraPolicies ? {}
, firefoxLibName ? "firefox" # Important for tor package or the like
- , extraExtensions ? [ ]
+ , nixExtensions ? null
}:
assert forceWayland -> (browser ? gtk3); # Can only use the wayland backend if gtk3 is being used
@@ -100,19 +100,21 @@ let
policiesJson = builtins.toFile "policies.json"
(builtins.toJSON enterprisePolicies);
+ usesNixExtensions = nixExtensions != null;
+
extensions = builtins.map (a:
if ! (builtins.hasAttr "extid" a) then
- throw "extraExtensions has an invalid entry. Missing extid attribute. Please use fetchfirefoxaddon"
+ throw "nixExtensions has an invalid entry. Missing extid attribute. Please use fetchfirefoxaddon"
else
a
- ) extraExtensions;
+ ) (if usesNixExtensions then nixExtensions else []);
enterprisePolicies =
{
- policies = {
+ policies = lib.optionalAttrs usesNixExtensions {
DisableAppUpdate = true;
} //
- {
+ lib.optionalAttrs usesNixExtensions {
ExtensionSettings = {
"*" = {
blocked_install_message = "You can't have manual extension mixed with nix extensions";
@@ -137,7 +139,7 @@ let
// to be able to install addons that do not have an extid
// Security is maintained because only user whitelisted addons
// with a checksum can be installed
- lockPref("xpinstall.signatures.required", false);
+ ${ lib.optionalString usesNixExtensions ''lockPref("xpinstall.signatures.required", false)'' };
${extraPrefs}
'';