{ user ? throw "user argument is required", }: { lib, pkgs, ... }: { home-manager.users.${user.name} = { programs.firefox = { enable = true; policies = { DisableTelemetry = true; DisableFirefoxStudies = true; DontCheckDefaultBrowser = true; DisablePocket = true; DefaultDownloadDirectory = "\${HOME}/Downloads"; OfferToSaveLogins = false; AutofillAddressEnabled = false; AutofillCreditCardEnabled = false; Preferences = { "browser.aboutConfig.showWarning" = false; "browser.contentblocking.category" = "strict"; "browser.download.useDownloadDir" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.toolbars.bookmarks.visibility" = true; "browser.sessionstore.restore_on_demand" = true; "browser.sessionstore.restore_pinned_tabs_on_demand" = false; "browser.translations.automaticallyPopup" = false; }; }; profiles.default = { search = { default = "DuckDuckGo"; privateDefault = "DuckDuckGo"; order = [ "DuckDuckGo" "Google" "Wikipedia (en)" "Nix Packages" "Nix Options" "Home Manager Options" ]; force = true; engines = { "Google".metaData.alias = "@g"; "DuckDuckGo".metaData.alias = "@d"; "Wikipedia (en)".metaData.alias = "@w"; "Nix Packages" = { urls = [ { template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "channel"; value = "unstable"; } { 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 = "type"; value = "options"; } { name = "channel"; value = "unstable"; } { name = "query"; value = "{searchTerms}"; } ]; } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@no" ]; }; "Home Manager Options" = { urls = [ { template = "https://home-manager-options.extranix.com/"; params = [ { name = "query"; value = "{searchTerms}"; } ]; } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@nh" ]; }; }; }; }; }; wayland.windowManager.hyprland.settings.bind = [ "$mod, b, exec, ${lib.meta.getExe pkgs.firefox}" ]; home.persistence = { "/persist${user.home}".directories = [ ".mozilla" ]; "/cache${user.home}".directories = [ ".cache/mozilla" ]; }; }; }