{ inputs, pkgs, ... }:

{
  programs.firefox = {
    enable = true;
    profiles.xeovalyte = {
      search.engines = {
        "Nix" = {
          urls = [{
            template = "https://mynixos.com/search";
            params = [
              { name = "q"; value = "{searchTerms}"; }
            ];
          }];

          icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
          definedAliases = [ "@nix" ];
        };

        "SearXNG" = {
          urls = [{
            template = "https:/search.xeovalyte.dev/search";
            params = [
              { name = "q"; value = "{searchTerms}"; }
            ];
          }];

          definedAliases = [ "@searxng" ];
        };

        "Startpage" = {
          urls = [{
            template = "https:/startpage.com/sp/search";
            params = [
              { name = "q"; value = "{searchTerms}"; }
            ];
          }];

          definedAliases = [ "@sp" ];
        };

        "Bing".metaData.hidden = true;
        "Google".metaData.hidden = true;
        "eBay".metaData.hidden = true;
      };
      search.force = true;
      search.default = "SearXNG";

      settings = {
        "browser.disableResetPrompt" = true;
        "browser.download.panel.shown" = true;
        "browser.download.useDownloadDir" = false;
        "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
        "browser.shell.checkDefaultBrowser" = false;
        "browser.shell.defaultBrowserCheckCount" = 1;
        "dom.security.https_only_mode" = true;
        "privacy.trackingProtection.enabled" = true;
        "browser.toolbars.bookmarks.visibility" = "never";
        "browser.translations.neverTranslateLanguages" = "nl";
        "browser.newtabpage.pinned" = [
          {
            label = "Server";
            url = "https://home.xeovalyte.dev";
          }
          {
            label = "Youtube";
            url = "https://youtube.com";
          }
          {
            label = "Schoolportaal";
            url = "https://coenecoopcollege.sharepoint.com/";
          }
        ];
        "signon.rememberSignons" = false;
      };

      extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
        bitwarden
        ublock-origin
      ];
    };
  };
}