{ inputs, pkgs, ... }: { n.misc.defaults.firefox = [ "text/html" "x-scheme-handler/http" "x-scheme-handler/https" "application/pdf" ]; hm = { imports = [ inputs.arkenfox.hmModules.arkenfox ]; stylix.targets.firefox = { enable = true; profileNames = [ "default" ]; }; programs.firefox = { enable = true; # arkenfox.enable = true; # TODO: configure arkenfox profiles.default = { id = 0; isDefault = true; search = { default = "ddg"; engines = let getIcon = url: sha256: pkgs.fetchurl { inherit url sha256; }; nixicon = getIcon "https://nixos.org/favicon.ico" "sha256-58CkYxFA9Baioz3+avCQocft/AW9sgOLTPV71gxKD2g="; in { # Github "GitHub" = { urls = [ { template = "https://github.com/search?q={searchTerms}"; } ]; icon = getIcon "https://github.githubassets.com/favicons/favicon-dark.svg" "sha256-qu/d9ftvsntplFuxw9RFL8BpI9b2g5b6xfeGw6Ekh6w="; definedAliases = [ "@github" "@gh" ]; }; # Knihi.com "Knihi.com" = { urls = [ { template = "https://knihi.com/search.html#{searchTerms}"; } ]; icon = getIcon "https://knihi.com/img/logo.svg" "sha256-wTpuVFhstRE6HXSWvrom49Wl0NNEw7jB+3dQDcLEWFI="; definedAliases = [ "@knihi" "@knihi.com" ]; }; # NixOS Packages "NixOS Packages" = { urls = [ { template = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}"; } ]; icon = nixicon; definedAliases = [ "@nixpkgs" "@np" "@pkg" ]; }; # NixOS Options "NixOS Options" = { urls = [ { template = "https://search.nixos.org/options?channel=unstable&query={searchTerms}"; } ]; icon = nixicon; definedAliases = [ "@nixopts" "@no" "@opt" ]; }; # NixOS Wiki "NixOS Wiki" = { urls = [ { template = "https://nixos.wiki/index.php?search={searchTerms}"; } ]; icon = getIcon "https://nixos.wiki/favicon.png" "sha256-Sw3Sysk6x/xDTwz6q2/HWaCZtffapsAuMMFjYN0FhIk="; definedAliases = [ "@nixoswiki" "@nw" ]; }; # Home Manager options "Home Manager Options" = { urls = [ { template = "https://home-manager-options.extranix.com/?query={searchTerms}"; } ]; icon = getIcon "https://nixos.wiki/favicon.png" "sha256-Sw3Sysk6x/xDTwz6q2/HWaCZtffapsAuMMFjYN0FhIk="; definedAliases = [ "@hm" ]; }; # Noogle (nix-functions search) "Noogle" = { urls = [ { template = "https://noogle.dev/q?term={searchTerms}"; } ]; icon = getIcon "https://noogle.dev/favicon.png" "sha256-5VjB+MeP1c25DQivVzZe77NRjKPkrJdYAd07Zm0nNVM="; definedAliases = [ "@noogle" "@f" "@l" "@func" ]; }; # Rutracker "Rutracker" = { urls = [ { template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; } ]; icon = getIcon "https://rutracker.org/favicon.ico" "sha256-p6PGZMIvLUX38QL5LnHGDr0X1SfNes5JiRdh4WNj6Zg="; definedAliases = [ "@rutracker" "@rutr" "@torrent" "@tr" ]; }; # Flibusta "Flibusta" = { urls = [ { template = "https://flibusta.is/booksearch?ask={searchTerms}"; } ]; icon = getIcon "https://flibusta.is/sites/default/files/bluebreeze_favicon.ico" "sha256-Ksq+eviBPAVULOXOPAxhJJ5jx9iQqIiQ4dak9twng+I="; definedAliases = [ "@rutracker" "@rutr" "@torrent" "@tr" ]; }; # Wiktionary "Wiktionary" = { urls = [ { template = "https://en.wiktionary.org/w/index.php?title=Special:Search&search={searchTerms}"; } ]; icon = getIcon "https://en.wiktionary.org/static/favicon/piece.ico" "sha256-Mz5Z9nz+gPlNqo8SerFgQSAMN76557yWZp4rgbjkPv8="; definedAliases = [ "@wiktionary" "@w" ]; }; # Verbum "Verbum" = { urls = [ { template = "https://verbum.by/?q={searchTerms}"; } ]; icon = getIcon "https://verbum.by/statics/favicon.png" "sha256-/P3zuoHbL5Rb7MYxPeehVCmfoB/V73edTvGrHTA8hJ4="; definedAliases = [ "@verbum" "@v" ]; }; # Sloŭnik.org "Slounik.org" = { urls = [ { template = "https://slounik.org/search?dict=&search={searchTerms}"; } ]; icon = getIcon "https://slounik.org/icon.svg" "sha256-jDvQ0iNMZ8pFp6+uvzTBuEOuVstZP2t1+hzDDx7oCAk="; definedAliases = [ "@slounik" "@sl" ]; }; # Youtube "Youtube" = { urls = [ { template = "https://www.youtube.com/results?search_query={searchTerms}"; } ]; icon = getIcon "https://www.youtube.com/s/desktop/280a3f09/img/favicon.ico" "sha256-i7HQ+kOhdDbVndVG9vdMdtxEc13vdSLCLYAxFm24kR0="; definedAliases = [ "@youtube" "@yt" "@y" ]; }; # Disable crap "bing".metaData.hidden = true; "google".metaData.hidden = true; }; }; }; }; }; imp.home.dirs = [ ".mozilla" ]; }