{ config, lib, pkgs, ... }: with lib; { options.profiles.clerie.firefox = { enable = mkEnableOption "Firefox setup"; }; config = mkIf config.profiles.clerie.firefox.enable { programs.firefox.enable = true; programs.firefox.package = pkgs.firefox-wayland; programs.firefox.policies = { AutofillAddressEnabled = false; AutofillCreditCardEnabled = false; CaptivePortal = false; DisableFeedbackCommands = true; DisableFirefoxStudies = true; DisablePocket = true; DisableSetDesktopBackground = true; DisableTelemetry = true; DisplayBookmarksToolbar = "never"; DisplayMenuBar = "default-off"; DontCheckDefaultBrowser = true; Extensions = { Locked = [ "uBlock0@raymondhill.net" # uBlock Origin "@testpilot-containers" # Firefox Multi-Account Containers ]; Install = [ "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}" # Auto Tab Discard "keepassxc-browser@keepassxc.org" # KeePassXC-Browser ]; }; ExtensionSettings = { "uBlock0@raymondhill.net" = { private_browsing = true; }; }; FirefoxHome = { Search = false; TopSites = false; SponsoredTopSites = false; Highlights = false; Pocket = false; SponsoredPocket = false; Snippets = false; }; HttpsOnlyMode = "enabled"; NewTabPage = false; NoDefaultBookmarks = true; OfferToSaveLogins = false; PasswordManagerEnabled = false; Preferences = { # Access Webcam through Pipewire "media.webrtc.camera.allow-pipewire" = { "Value" = true; "Status" = "default"; }; }; RequestedLocales = [ "en" ]; SearchBar = "unified"; ShowHomeButton = false; UserMessaging = { ExtensionRecommendations = false; FeatureRecommendations = false; SkipOnboarding = true; MoreFromMozilla = false; }; }; }; }