{ lib, config, ... }: with lib; let cfg = config.home.firefox; in { options.home.firefox = { enable = mkEnableOption "Ghostty service"; }; config = mkIf cfg.enable { xdg.mimeApps.defaultApplications = { "text/html" = [ "firefox.desktop" ]; "text/xml" = [ "firefox.desktop" ]; "x-scheme-handler/http" = [ "firefox.desktop" ]; "x-scheme-handler/https" = [ "firefox.desktop" ]; }; programs.firefox = { enable = true; policies = { ExtensionSettings = { "uBlock0@raymondhill.net" = { default_area = "menupanel"; install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi"; installation_mode = "force_installed"; private_browsing = true; }; }; }; profiles.alistreaza = { settings = { # Disable some telemetry "app.shield.optoutstudies.enabled" = false; "browser.discovery.enabled" = false; "browser.newtabpage.activity-stream.feeds.telemetry" = false; "browser.newtabpage.activity-stream.telemetry" = false; "browser.ping-centre.telemetry" = false; "datareporting.healthreport.service.enabled" = false; "datareporting.healthreport.uploadEnabled" = false; "datareporting.policy.dataSubmissionEnabled" = false; "datareporting.sessions.current.clean" = true; "devtools.onboarding.telemetry.logged" = false; "toolkit.telemetry.archive.enabled" = false; "toolkit.telemetry.bhrPing.enabled" = false; "toolkit.telemetry.enabled" = false; "toolkit.telemetry.firstShutdownPing.enabled" = false; "toolkit.telemetry.hybridContent.enabled" = false; "toolkit.telemetry.newProfilePing.enabled" = false; "toolkit.telemetry.prompted" = 2; "toolkit.telemetry.rejected" = true; "toolkit.telemetry.reportingpolicy.firstRun" = false; "toolkit.telemetry.server" = ""; "toolkit.telemetry.shutdownPingSender.enabled" = false; "toolkit.telemetry.unified" = false; "toolkit.telemetry.unifiedIsOptIn" = false; "toolkit.telemetry.updatePing.enabled" = false; # New tab page "browser.newtabpage.activity-stream.feeds.topsites" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showSponsoredCheckboxes" = false; # No bookmartks "browser.toolbars.bookmarks.visibility" = "never"; # Vertical tabs "sidebar.backupState" = { "panelOpen" = true; "launcherExpanded" = false; "launcherVisible" = true; }; "sidebar.new-sidebar.has-used" = true; "sidebar.verticalTabs" = true; "sidebar.revamp" = true; "sidebar.main.tools" = "history,passwords"; }; }; }; }; }