feat(mullvad-browser): configure search engines

This commit is contained in:
Felix Schröter 2025-02-13 23:41:16 +01:00
parent 6598879013
commit 570f4da472
Signed by: felschr
GPG key ID: 671E39E6744C807D

View file

@ -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; [