From 9e12be50b48898328f78d3ee9f7d5d164e2bd395 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Thu, 13 Jul 2017 09:57:10 +0200 Subject: [PATCH] tor-browser-bundle-bin: support injecting additional prefs The `extraPrefs` parameter is injected verbatim into the mozilla.cfg file. Note that the syntax is a superset of the usual prefs.js syntax. The following procedures are of particular interest: pref() to set a preference as if it had been toggled in about:config defaultPref() to set the *default* value of a preference lockPref() to set a preference & prevent further modification clearPref() to reset a preference to its default state Example: ```nix tor-browser-bundle-bin.override { extraPrefs = '' // Increase default security level pref("extensions.torbutton.security_slider", 2); ''; } ``` --- .../networking/browsers/tor-browser-bundle-bin/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 968735495af5..5bcf47a4905d 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -37,6 +37,9 @@ # Pluggable transport dependencies , python27 + +# Extra preferences +, extraPrefs ? "" }: with stdenv.lib; @@ -197,6 +200,10 @@ stdenv.mkDerivation rec { // Defaults to creating $TBB_HOME/TorBrowser/Data/Tor/{socks,control}.socket lockPref("extensions.torlauncher.control_port_use_ipc", true); lockPref("extensions.torlauncher.socks_port_use_ipc", true); + + ${optionalString (extraPrefs != "") '' + ${extraPrefs} + ''} EOF # Hard-code path to TBB fonts; see also FONTCONFIG_FILE in