# taken from the NixOS Firefox module: https://github.com/NixOS/nixpkgs/blob/7c9cc5a6e5d38010801741ac830a3f8fd667a7a0/nixos/modules/programs/firefox.nix { config, lib, pkgs, # options autoConfig ? "", extraNativeMessagingHosts ? [], wrapperConfig ? {}, extraPolicies ? {}, base_package ? pkgs.firefox, }: let pkg = base_package.override (old: { extraPrefsFiles = old.extraPrefsFiles or [] ++ [(pkgs.writeText "firefox-autoconfig.js" autoConfig)]; nativeMessagingHosts = old.nativeMessagingHosts or [] ++ extraNativeMessagingHosts; cfg = (old.cfg or {}) // wrapperConfig; inherit extraPolicies; }); in pkg