{ pkgs, ... }: { home-manager.users.grape = { programs.firefox = { enable = true; profiles = { "user" = { isDefault = true; id = 0; # TODO fix impurity extraConfig = builtins.readFile "/etc/nixos/opt/firefox/user.js"; # custom userjs config userChrome = builtins.readFile "/etc/nixos/opt/firefox/userChrome.css"; # browser styles userContent = builtins.readFile "/etc/nixos/opt/firefox/userContent.css"; # browser styles extensions = [ pkgs.nur.repos.rycee.firefox-addons.ublock-origin pkgs.nur.repos.rycee.firefox-addons.clearurls # clear tracking urls pkgs.nur.repos.rycee.firefox-addons.stylus # cool styling for websites pkgs.nur.repos.rycee.firefox-addons.localcdn # locally stores frameworks such as vue, tailwind ect.. pkgs.nur.repos.rycee.firefox-addons.libredirect # redirects to libre version of spyware sites pkgs.nur.repos.rycee.firefox-addons.tridactyl # vim like keybinds pkgs.nur.repos.rycee.firefox-addons.istilldontcareaboutcookies # dismisses cookie banners pkgs.nur.repos.rycee.firefox-addons.noscript # block js pkgs.nur.repos.rycee.firefox-addons.tabliss # sexy new tab ]; search.force = true; search.order = [ "Searxng" "DuckDuckGo" ]; search.default = "Searxng"; search.engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "Searxng" = { urls = [{ template = "https://search.rhscz.eu/"; params = [ { name = "q"; value = "{searchTerms}"; } ]; }]; }; "Home Manager" = { definedAliases = [ "@hm" ]; urls = [{ template = "https://mipmip.github.io/home-manager-option-search/"; params = [ { name = "query"; value = "{searchTerms}"; } ]; }]; }; "Nix Options" = { definedAliases = [ "@no" ]; urls = [{ template = "https://search.nixos.org/options?type=packages"; params = [ { name = "query"; value = "{searchTerms}"; } ]; }]; "Stylus styles" = { urls = [{ template = " https://userstyles.world/search"; params = [ { name = "q"; value = "{searchTerms}"; } ]; }]; definedAliases = [ "@st" ]; }; "Twitch" = { urls = [{ template = " https://twitch.tv/search"; params = [ { name = "term"; value = "{searchTerms}"; } ]; }]; definedAliases = [ "@tw" ]; }; }; }; }; }; }; }; programs.firejail = { wrappedBinaries = { firefox = { executable = "${pkgs.firefox}/bin/firefox"; profile = "${pkgs.firejail}/etc/firejail/firefox.profile"; desktop = "${pkgs.firefox}/share/applications/firefox.desktop"; }; }; }; }