{ inputs, config, pkgs, username, ... }: let owner = "arkenfox"; repo = "user.js"; version = "117.0"; in { programs.firefox = { enable = true; profiles."default" = { extensions = with pkgs.nur.repos.rycee.firefox-addons; [ ublock-origin multi-account-containers ]; extraConfig = builtins.readFile ( builtins.fetchTarball { url = "https://github.com/${owner}/${repo}/archive/refs/tags/${version}.tar.gz"; sha256="1pll4fbdn2390n05902l3pkg4rizxghkakpzi1r9z1b7blmk1x4s"; } + "/user.js"); search = { force = true; default = "DuckDuckGo"; engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; definedAliases = [ "@np" ]; }; "NixOS Wiki" = { urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; iconUpdateURL = "https://nixos.wiki/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; definedAliases = [ "@nw" ]; }; }; }; settings = { "browser.download.dir" = "/home/${username}/dwn"; }; }; }; }