{ pkgs, lib, config, ... }: let firefoxAddons = import ./addons.nix pkgs lib; firefoxSettings = { "browser.aboutConfig.showWarning" = false; "browser.toolbars.bookmarks.visibility" = "always"; "browser.tabs.firefox-view" = false; "browser.shell.checkDefaultBrowser" = false; "browser.translations.automaticallyPopup" = false; "signon.rememberSignons" = false; "media.webspeech.synth.dont_notify_on_error" = true; "browser.gesture.swipe.left" = false; "browser.gesture.swipe.right" = false; "browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; }; cfg = config.pim.firefox; in { options.pim.firefox.enable = lib.mkEnableOption "firefox"; config = lib.mkIf cfg.enable { programs.firefox = { enable = true; profiles = { default = { id = 0; isDefault = true; settings = firefoxSettings; extensions = firefoxAddons; }; }; }; }; }