aboutsummaryrefslogtreecommitdiff
path: root/home-manager/homeModules/firefox/default.nix
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2024-04-20 20:24:36 +0300
committerspl3g <spleefer6@yandex.ru>2025-05-01 14:58:53 +0300
commitf5970d988c68ae1d2ac56f0a35324cd442a26be7 (patch)
tree3c7fa7d524c7337c3b999fd577081a1230690072 /home-manager/homeModules/firefox/default.nix
parentec0e9896dcc0c88ef49d2b2bf8126498d3c2acec (diff)
add modules
Diffstat (limited to 'home-manager/homeModules/firefox/default.nix')
-rw-r--r--home-manager/homeModules/firefox/default.nix119
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";
+ };
+
+ };
+}