{ pkgs, ... }: { programs.firefox = { enable = true; profiles.nico = { name = "Nico"; isDefault = true; search = { default = "DuckDuckGo"; force = true; engines = let nixicon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; iconUpdateInteval = 24 * 60 * 60 * 1000; # every day in { "NixOS Packages" = { urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ]; icon = nixicon; definedAliases = [ "@nixpkg" ]; }; "NixOS Wiki" = { urls = [ { template = "https://wiki.nixos.org/index.php?search={searchTerms}"; } ]; icon = nixicon; definedAliases = [ "@nixwiki" ]; }; "NixOS Options" = { urls = [ { template = "https://search.nixos.org/options?query={searchTerms}"; } ]; icon = nixicon; definedAliases = [ "@nixoptions" ]; }; "Arch Wiki" = { urls = [ { template = "https://wiki.archlinux.org/index.php?title=Special:Search&search={searchTerms}"; } ]; iconUpdateURL = "https://nixos.wiki/favicon.ico"; updateInterval = iconUpdateInteval; definedAliases = [ "@archwiki" ]; }; "DuckDuckGo" = { urls = [ { template = "https://duckduckgo.com/?q={searchTerms}"; } ]; iconUpdateURL = "https://duckduckgo.com/favicon.ico"; updateInterval = iconUpdateInteval; definedAliases = [ "@duckduckgo" "@ddg" ]; }; "MyNixOS" = { urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ]; iconUpdateURL = "https://mynixos.com/favicon.ico"; updateInterval = iconUpdateInteval; definedAliases = [ "@hm" "@mynixos" ]; }; "stackoverflow" = { urls = [ { template = "https://stackoverflow.com/search?q={searchTerms}"; } ]; iconUpdateURL = "https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico"; updateInterval = iconUpdateInteval; definedAliases = [ "@stackoverflow" ]; }; }; }; }; }; }