diff --git a/home/browsers/mullvad-browser.nix b/home/browsers/mullvad-browser.nix
index 17b6154..d5d5bf2 100644
--- a/home/browsers/mullvad-browser.nix
+++ b/home/browsers/mullvad-browser.nix
@@ -47,6 +47,132 @@ let
     "media.ffmpeg.vaapi.enabled" = true;
   };
 
+  commonSearch = {
+    force = true;
+    # TODO defaults don't work
+    default = "Qwant";
+    privateDefault = "Qwant";
+    order = [
+      "Qwant"
+      "Ecosia"
+      "DuckDuckGo"
+      "Startpage"
+      "kagi"
+    ];
+    engines = {
+      # builtin
+      "Startpage".metaData.alias = "@s";
+      "DuckDuckGo".metaData.alias = "@d";
+
+      # extra
+      "Qwant" = {
+        urls = [ { template = "https://www.qwant.com/?q={searchTerms}"; } ];
+        iconURL = "https://www.qwant.com/favicon.ico";
+        definedAliases = [ "@q" ];
+      };
+      "Ecosia" = {
+        urls = [ { template = "https://www.ecosia.org/search?q={searchTerms}"; } ];
+        iconURL = "https://www.ecosia.org/favicon.ico";
+        definedAliases = [ "@e" ];
+      };
+      "kagi" = {
+        urls = [ { template = "https://kagi.com/search?q={searchTerms}"; } ];
+        iconURL = "https://kagi.com/favicon.ico";
+        definedAliases = [ "@k" ];
+      };
+      "GitHub" = {
+        urls = [ { template = "https://github.com/search?q={searchTerms}"; } ];
+        iconURL = "https://github.com/favicon.ico";
+        definedAliases = [ "@gh" ];
+      };
+      "GitLab" = {
+        urls = [ { template = "https://gitlab.com/search?search={searchTerms}"; } ];
+        iconURL = "https://gitlab.com/favicon.ico";
+        definedAliases = [ "@gl" ];
+      };
+      "Codeberg" = {
+        urls = [ { template = "https://codeberg.org/explore/repos?q={searchTerms}"; } ];
+        iconURL = "https://codeberg.org/favicon.ico";
+        definedAliases = [ "@cb" ];
+      };
+      "Nix Packages" = {
+        urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ];
+        icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+        definedAliases = [ "@np" ];
+      };
+      "NixOS Options" = {
+        urls = [ { template = "https://search.nixos.org/options?query={searchTerms}"; } ];
+        icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+        definedAliases = [ "@no" ];
+      };
+      "Nix Flakes: Packages" = {
+        urls = [ { template = "https://search.nixos.org/flakes?type=packages&query={searchTerms}"; } ];
+        icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+        definedAliases = [ "@nfp" ];
+      };
+      "Nix Flakes: Options" = {
+        urls = [ { template = "https://search.nixos.org/flakes?type=options&query={searchTerms}"; } ];
+        icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+        definedAliases = [ "@nfo" ];
+      };
+      "NixOS Wiki" = {
+        urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
+        icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+        definedAliases = [ "@nw" ];
+      };
+      "Crates.io" = {
+        urls = [ { template = "https://crates.io/search?q={searchTerms}"; } ];
+        iconURL = "https://crates.io/favicon.ico";
+        definedAliases = [ "@rc" ];
+      };
+      "Docs.rs" = {
+        urls = [ { template = "https://docs.rs/releases/search?query={searchTerms}"; } ];
+        iconURL = "https://docs.rs/favicon.ico";
+        definedAliases = [ "@rd" ];
+      };
+      "Rust Book" = {
+        urls = [ { template = "https://doc.rust-lang.org/book/?search={searchTerms}"; } ];
+        iconURL = "https://doc.rust-lang.org/book/favicon.svg";
+        definedAliases = [ "@rb" ];
+      };
+      "Rust std" = {
+        urls = [ { template = "https://doc.rust-lang.org/stable/std/?search={searchTerms}"; } ];
+        iconURL = "https://www.rust-lang.org/static/images/favicon.svg";
+        definedAliases = [ "@rs" ];
+      };
+      "npm" = {
+        urls = [ { template = "https://www.npmjs.com/search?q={searchTerms}"; } ];
+        iconURL = "https://static-production.npmjs.com/da3ab40fb0861d15c83854c29f5f2962.png";
+        definedAliases = [ "@npm" ];
+      };
+      "PyPI" = {
+        urls = [ { template = "https://pypi.org/search/?q={searchTerms}"; } ];
+        iconURL = "https://pypi.org/favicon.ico";
+        definedAliases = [ "@pypi" ];
+      };
+      "Stack Overflow" = {
+        urls = [ { template = "https://stackoverflow.com/search?q={searchTerms}"; } ];
+        iconURL = "https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico";
+        definedAliases = [ "@so" ];
+      };
+      "Wikipedia" = {
+        urls = [ { template = "https://en.wikipedia.org/wiki/{searchTerms}"; } ];
+        iconURL = "https://en.wikipedia.org/favicon.ico";
+        definedAliases = [ "@w" ];
+      };
+      "Wolfram Alpha" = {
+        urls = [ { template = "https://www.wolframalpha.com/input?i={searchTerms}"; } ];
+        iconURL = "https://www.wolframalpha.com/_next/static/images/favicon_1zbE9hjk.ico";
+        definedAliases = [ "@wa" ];
+      };
+      "Reddit" = {
+        urls = [ { template = "https://www.reddit.com/search/?q={searchTerms}"; } ];
+        iconURL = "https://www.reddit.com/favicon.ico";
+        definedAliases = [ "@r" ];
+      };
+    };
+  };
+
   commonExtensions = with firefox-addons; [
     dictionary-german
     proton-pass
@@ -64,11 +190,13 @@ in
       private = {
         id = 0;
         settings = commonSettings;
+        search = commonSearch;
         extensions = commonExtensions;
       };
       work = {
         id = 1;
         settings = commonSettings;
+        search = commonSearch;
         extensions =
           commonExtensions
           ++ (with firefox-addons; [