{
  config,
  pkgs,
  ...
}: {
  programs.firefox = {
    enable = true;
    package = pkgs.floorp;
    policies = {
      DisableTelemetry = true;
      DisableFirefoxStudies = true;
      DisablePocket = true;
      DisableFirefoxAccounts = true;
      DisableAccounts = true;
      DisableProfileImport = true;
      OverrideFirstRunPage = "";
      OverridePostUpdatePage = "";
      DontCheckDefaultBrowser = true;
      DisplayBookmarksToolbar = "newtab";
      ManualAppUpdateOnly = true;
      OfferToSaveLogins = false;
      PasswordManagerEnabled = false;
      DownloadDirectory = "\${home}/Downloads";
      EnableTrackingProtection = {
        Value = true;
        Cryptomining = true;
        Fingerprinting = true;
      };
      ExtensionSettings = {
        # "*".installation_mode = "blocked"; # blocks all addons except the ones specified below
        # Catppuccin Macchiato - Mauve theme:
        "{55750c61-e5f3-4d9a-898d-0643b3093678}" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/catppuccin-macchiato-mauve/latest.xpi";
          installation_mode = "force_installed";
        };
        # Sideberry:
        #"{3c078156-979c-498b-8990-85f7987dd929}" = {
        #  install_url = "https://addons.mozilla.org/firefox/downloads/latest/sidebery/latest.xpi";
        #  installation_mode = "force_installed";
        #};
        # Privacy Badger:
        "jid1-MnnxcxisBPnSXQ@jetpack" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
          installation_mode = "force_installed";
        };
        # Bitwarden:
        "{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
          installation_mode = "force_installed";
        };
        # Libredirect:
        "7esoorv3@alefvanoon.anonaddy.me" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/libredirect/latest.xpi";
          installation_mode = "force_installed";
        };
        # DarkReader:
        "addon@darkreader.org" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
          installation_mode = "force_installed";
        };
        # SimpleLogin:
        "addon@simplelogin" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi";
          installation_mode = "force_installed";
        };
        # Cookie Auto Delete:
        "CookieAutoDelete@kennydo.com" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/cookie-autodelete/latest.xpi";
          installation_mode = "force_installed";
        };
        # Don't fuck with paste:
        "DontFuckWithPaste@raim.ist" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/don-t-fuck-with-paste/latest.xpi";
          installation_mode = "force_installed";
        };
        # Firefox pwas:
        "firefoxpwa@filips.si" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/pwas-for-firefox/latest.xpi";
          installation_mode = "force_installed";
        };
        # Consent o matic:
        "gdpr@cavi.au.dk" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/consent-o-matic/latest.xpi";
          installation_mode = "force_installed";
        };
        # Mailvelope:
        "jid1-AQqSMBYb0a8ADg@jetpack" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/mailvelope/latest.xpi";
          installation_mode = "force_installed";
        };
        # KDE connect:
        "kde-connect@0xc0dedbad.com" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/kde-connect/latest.xpi";
          installation_mode = "force_installed";
        };
        # Plasma browser integration:
        "plasma-browser-integration@kde.org" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/plasma-integration/latest.xpi";
          installation_mode = "force_installed";
        };
        # Shinigami eyes:
        "shinigamieyes@shinigamieyes" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/shinigami-eyes/latest.xpi";
          installation_mode = "force_installed";
        };
        # uBlock Origin:
        "uBlock0@raymondhill.net" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
          installation_mode = "force_installed";
        };
        # uBlock Scope:
        "uBO-Scope@raymondhill.net" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/ubo-scope/latest.xpi";
          installation_mode = "force_installed";
        };
        # Wayback machine:
        "wayback_machine@mozilla.org" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/file/4047136/wayback_machine_new-3.2.xpi";
          installation_mode = "force_installed";
        };
        # Tree Style Tabs
        "treestyletab@piro.sakura.ne.jp" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/tree-style-tab/latest.xpi";
          installation_mode = "force_installed";
        };
        # Adaptive Tab Bar Colour
        "ATBC@EasonWong" = {
          install_url = "https://addons.mozilla.org/firefox/downloads/latest/Adaptive-Tab-Bar-Colour/latest.xpi";
          installation_mode = "force_installed";
        };
      };
      FirefoxHome = {
        Search = true;
        TopSites = false;
        SponsoredTopSites = false;
        Highlights = false;
        Pocket = false;
        SponsoredPocket = false;
        Snippets = false;
      };
      FirefoxSuggest = {
        WebSuggestions = false;
        SponsoredSuggestions = false;
        ImproveSuggest = false;
      };
      Preferences = {
        "browser.compactmode.show" = true;
        "browser.uidensity" = 0;
        # "browser.newtabpage.activity-stream.feeds.topsites" = false;
        "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
        "browser.newtabpage.activity-stream.showSponsored" = false;
        "browser.newtabpage.activity-stream.system.showSponsored" = false;
        "font.name.serif.x-western" = "Crimson";
        "font.name.sans-serif.x-western" = "Atkinson Hyperlegible";
        "font.name.monospace.x-western" = "FiraCode Nerd Font";
        "font.size.variable.x-western" = 14;
        "floorp.browser.sidebar.useIconProvider" = "duckduckgo";
        "floorp.browser.tabbar.settings" = 2;
        "floorp.browser.tabs.verticaltab" = true;
        "floorp.tabbar.style" = 2;
        "floorp.browser.user.interface" = 8;
        "signon.rememberSignons" = true;
        "browser.ml.chat.enabled" = false;
        "browser.ml.chat.shortcuts" = false;
      };
      # TODO: switch to ManagedBookmarks as this will be dropped at some point https://mozilla.github.io/policy-templates/#managedbookmarks
      # Bookmarks = [
      #   {
      #     Title = "NixOS wiki";
      #     Placement = "toolbar";
      #     URL = "https://nixos.wiki/";
      #   }
      #   {
      #     Title = "NixOS options";
      #     Placement = "toolbar";
      #     URL = "https://nixos.org/manual/nixos/stable/options";
      #   }
      #   {
      #     Title = "NixOS home-manager options";
      #     Placement = "toolbar";
      #     URL = "https://nix-community.github.io/home-manager/options.xhtml";
      #   }
      # ];
    };
  };
}