{ config, options, lib, pkgs, ... }: let librewolfConf = config.modules.desktop.apps.browsers.librewolf; in { options.modules.desktop.apps.browsers.librewolf = { enable = lib.mkOption { type = lib.types.bool; default = false; }; }; config = lib.mkIf (librewolfConf.enable) { home.manager.programs.librewolf = { enable = true; profiles = { "user" = { id = 0; isDefault = true; search.engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "Nix Options" = { urls = [{ template = "https://search.nixos.org/options"; params = [ { name = "query"; value = "{searchTerms}"; } ]; }]; definedAliases = [ "@no" ]; }; "Nix Wiki" = { urls = [{ template = "https://wiki.nixos.org/w/index.php"; params = [ { name = "search"; value = "{searchTerms}"; } ]; }]; definedAliases = [ "@nw" ]; }; }; }; }; }; modules.desktop.defaultApplications.apps.browser = rec { package = pkgs.librewolf; install = false; cmd = "${package}/bin/librewolf"; desktop = "librewolf"; }; }; }