{ config, lib, pkgs, ... }: let cfg = config.hm.soft.browser; in { options.hm.soft.browser = { librewolf.enable = lib.mkEnableOption "LibreWolf browser"; brave.enable = lib.mkEnableOption "Brave browser"; }; config = lib.mkMerge [ (lib.mkIf cfg.librewolf.enable { programs.librewolf = { enable = true; profiles = { main = { isDefault = true; name = "main"; extensions = { }; bookmarks = { force = true; settings = [ { name = "Toolbar Root"; toolbar = true; bookmarks = [ { name = "Youtube"; tags = [ "yt" ]; keyword = "yt"; url = "https://www.youtube.com"; } ]; } ]; }; search = { force = true; default = "SearXNG"; privateDefault = "SearXNG"; engines = { "SearXNG" = { urls = [ { template = "https://searx.tiekoetter.com/search?q={searchTerms}"; } ]; icon = "https://searx.tiekoetter.com/favicon.ico"; definedAliases = [ "@s" ]; }; "Nixos Packages" = { urls = [ { template = "https://search.nixos.org/packages"; params = [ { name = "channel"; value = "unstable"; } { name = "query"; value = "{searchTerms}"; } ]; } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@nix" ]; }; "HM Options" = { urls = [ { template = "https://home-manager-options.extranix.com"; params = [ { name = "query"; value = "{searchTerms}"; } { name = "release"; value = "master"; } ]; } ]; }; "google".metaData.hidden = true; "amazondotcom-us".metaData.hidden = true; "bing".metaData.hidden = true; "ebay".metaData.hidden = true; "duckduckgo".metaData.hidden = true; "wikipedia".metaData.hidden = true; "perplexity".metaData.hidden = true; }; }; settings = { }; }; }; settings = { "ui.key.menuAccessKeyFocuses" = false; "browser.search.update" = false; "browser.formfill.enable" = false; "browser.search.suggest.enabled" = false; "signon.rememberSignons" = false; "browser.urlbar.suggest.history" = false; "browser.urlbar.suggest.bookmark" = false; "browser.urlbar.suggest.openpage" = false; "browser.urlbar.suggest.engines" = false; "browser.urlbar.suggest.topsites" = false; "browser.urlbar.showSearchTerms.featureGate" = false; "browser.toolbars.bookmarks.visibility" = "always"; "privacy.clearOnShutdown.cookies" = true; "privacy.clearOnShutdown.cache" = true; "network.cookie.lifetimePolicy" = 0; "privacy.cpd.cookies" = true; # "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org"; # "layout.css.prefers-color-scheme.content-override" = 0; # "browser.theme.content-theme" = 0; # "browser.theme.toolbar-theme" = 0; }; }; home.packages = [ pkgs.nixos-icons ]; }) (lib.mkIf cfg.brave.enable { home.packages = [ pkgs.brave ]; }) ]; }