{ pkgs ? import {} }: with pkgs; # Where to find documentation: # http://kb.mozillazine.org/About:config_entries # https://www.privacy-handbuch.de/download/moderat/user.js # https://github.com/mozilla/policy-templates, about:policies#documentation let directory = callPackage nix/directory.nix {}; ffLib = callPackage nix/lib.nix {}; search = callPackage nix/search.nix {}; callProfile = p: lib.callPackageWith (pkgs // { inherit ffLib; }) p {}; in rec { profiles = directory.listDirectory callProfile ./profiles; disableErrorReporting.preferences = { breakpad.reportUrl = ""; }; activeProfiles = with profiles; [ defaults addons.disableExtensionSignatureChecking addons.privacybadger addons.noscript # addons.borderify minimalConnections minimalHome noAccounts noClutter noMedia noNormandy noUpdates noStudies noPocket noTunnels noLocation safebrowsing.disableAll restrict # distrustUser ocsp.disabled forgetActivity { policies.RequestedLocales = [ "de-DE" "en-US" ]; } ]; config = ffLib.mergeProfiles activeProfiles; bundleConfig = { inherit (config) policies; preferences = ffLib.flattenAttrs config.preferences; }; bundle = ffLib.bundle bundleConfig; launcher = ffLib.launcher bundle; /* bundle = profiles.bundle { policies = { Preferences = profiles.flattenAttrs { dom.event.contextmenu.enabled = false; extensions = { blocklist.enabled = false; getAddons.showPane = false; htmlaboutaddons.recommendations.enabled = false; }; security.ssl.errorReporting.enabled = false; }; SearchBar = "separate"; }; }; */ }