diff options
| author | spl3g <spleefer6@yandex.ru> | 2024-04-20 20:24:36 +0300 |
|---|---|---|
| committer | spl3g <spleefer6@yandex.ru> | 2025-05-01 14:58:53 +0300 |
| commit | f5970d988c68ae1d2ac56f0a35324cd442a26be7 (patch) | |
| tree | 3c7fa7d524c7337c3b999fd577081a1230690072 /home-manager/homeModules/firefox/default.nix | |
| parent | ec0e9896dcc0c88ef49d2b2bf8126498d3c2acec (diff) | |
add modules
Diffstat (limited to 'home-manager/homeModules/firefox/default.nix')
| -rw-r--r-- | home-manager/homeModules/firefox/default.nix | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/home-manager/homeModules/firefox/default.nix b/home-manager/homeModules/firefox/default.nix new file mode 100644 index 0000000..804e9c2 --- /dev/null +++ b/home-manager/homeModules/firefox/default.nix @@ -0,0 +1,119 @@ +{ pkgs, config, lib, inputs, ... }: + +{ + options = { + firefox.enable = lib.mkEnableOption "enable firefox"; + }; + config = lib.mkIf config.firefox.enable { + programs.firefox = { + enable = false; + profiles.nothing = { + isDefault = false; + id = 1; + }; + profiles.Betterfox = { + isDefault = true; + extensions = + let + nur = import inputs.nurpkgs.homeManagerModules.nurpkgs { + inherit pkgs; + nurpkgs = pkgs; + }; + in + with nur.repos.rycee.firefox-addons; [ + bitwarden + ublock-origin + switchyomega + sponsorblock + return-youtube-dislikes + firefox-color + tampermonkey + duckduckgo-privacy-essentials + sidebery + ]; + + extraConfig = + let + userConfig = builtins.readFile ./user.js; + configOverrides = '' + user_pref("browser.search.suggest.enabled", true); + user_pref("mousewheel.default.delta_multiplier_y", 75); + user_pref("network.captive-portal-service.enabled", true); + user_pref("captivedetect.canonicalURL", "http://detectportal.firefox.com/canonical.html"); + user_pref("network.connectivity-service.enabled", true); + ''; + in + userConfig + configOverrides; + search = { + force = true; + engines = { + "Brave" = { + urls = [{ template = "https://search.brave.com/search?q={searchTerms}"; }]; + iconUpdateURL = "https://cdn.search.brave.com/serp/v2/_app/immutable/assets/safari-pinned-tab.539899c7.svg"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!br" ]; + }; + "NixOS" = { + urls = [{ template = "https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query={searchTerms}"; }]; + iconUpdateURL = "https://nixos.org/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!ns" ]; + }; + "HomeManager" = { + urls = [{ template = "https://mipmip.github.io/home-manager-option-search/?query={searchTerms}"; }]; + iconUpdateURL = "https://github.com/mipmip/home-manager-option-search/blob/main/images/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!hs" ]; + }; + "ai question" = { + urls = [{ template = "https://iask.ai/?mode=question&q={searchTerms}"; }]; + iconUpdateURL = "https://iask.ai/favicons/favicon-32x32-650bd8771fdea8866630408578e381cc.png?vsn=d"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!aq" ]; + }; + "ai forums" = { + urls = [{ template = "https://iask.ai/?mode=forums&q={searchTerms}"; }]; + iconUpdateURL = "https://iask.ai/favicons/favicon-32x32-650bd8771fdea8866630408578e381cc.png?vsn=d"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!af" ]; + }; + "ai wiki" = { + urls = [{ template = "https://iask.ai/?mode=wiki&q={searchTerms}"; }]; + iconUpdateURL = "https://iask.ai/favicons/favicon-32x32-650bd8771fdea8866630408578e381cc.png?vsn=d"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!aw" ]; + }; + "FastGPT" = { + urls = [{ template = "https://labs.kagi.com/fastgpt?query={searchTerms}"; }]; + definedAliases = [ "!fq" ]; + }; + "NixWiki" = { + urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}&go=Go"; }]; + iconUpdateURL = "https://nixos.org/favicon.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!nw" ]; + }; + "Kinopoisk" = { + urls = [{ template = "https://www.kinopoisk.ru/index.php?kp_query={searchTerms}"; }]; + iconUpdateURL = "https://www.kinopoisk.ru/favicon.ico"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!ks" ]; + }; + "AnimeGo" = { + urls = [{ template = "https://animego.org/search/all?q={searchTerms}"; }]; + iconUpdateURL = "https://animego.org/favicon-32x32.png"; + updateInterval = 24 * 60 * 60 * 1000; + definedAliases = [ "!as" ]; + }; + }; + default = "Brave"; + }; + }; + }; + home.file."chrome" = { + source = ./userChrome.css; + target = ".mozilla/firefox/Betterfox/chrome/userChrome.css"; + }; + + }; +} |
