2025-01-14 19:09:13 +08:00
|
|
|
{
|
|
|
|
|
pkgs,
|
|
|
|
|
outputs,
|
|
|
|
|
system,
|
|
|
|
|
lib,
|
|
|
|
|
config,
|
|
|
|
|
...
|
2025-04-28 21:20:32 +08:00
|
|
|
}: let
|
2025-07-01 23:17:40 +08:00
|
|
|
cfg = config.david.programs.firefox;
|
2025-04-28 21:20:32 +08:00
|
|
|
in {
|
2025-01-14 19:09:13 +08:00
|
|
|
options = {
|
2025-07-01 23:17:40 +08:00
|
|
|
david.programs.firefox = {
|
2025-01-14 19:09:13 +08:00
|
|
|
enable = lib.mkEnableOption "firefox";
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
2025-03-12 17:33:23 +08:00
|
|
|
stylix.targets.firefox.profileNames = [
|
|
|
|
|
"default"
|
|
|
|
|
];
|
2025-01-14 19:09:13 +08:00
|
|
|
programs.firefox = {
|
|
|
|
|
enable = true;
|
2025-04-27 11:58:17 +08:00
|
|
|
betterfox = {
|
|
|
|
|
enable = true;
|
|
|
|
|
};
|
2025-01-14 19:09:13 +08:00
|
|
|
languagePacks = [
|
|
|
|
|
"zh-CN"
|
|
|
|
|
"en-US"
|
|
|
|
|
];
|
|
|
|
|
profiles.default = {
|
2025-04-27 11:58:17 +08:00
|
|
|
betterfox = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableAllSections = true;
|
|
|
|
|
};
|
2025-01-14 19:09:13 +08:00
|
|
|
name = "default";
|
|
|
|
|
isDefault = true;
|
2025-06-20 01:47:12 +08:00
|
|
|
extensions = {
|
|
|
|
|
# settings = {
|
|
|
|
|
# "redirector@einaregilsson.com" = {
|
|
|
|
|
# settings = {
|
|
|
|
|
# redirects = [
|
|
|
|
|
# {
|
|
|
|
|
# description = "NixOS Wiki";
|
|
|
|
|
# exampleUrl = "http://nixos.wiki/wiki/Main_Page";
|
|
|
|
|
# exampleResult = "http://wiki.nixos.org/wiki/Main_Page";
|
|
|
|
|
# error = null;
|
|
|
|
|
# includePattern = "http(s?)://nixos.wiki/wiki/(.*)";
|
|
|
|
|
# excludePattern = "";
|
|
|
|
|
# patternDesc = "";
|
|
|
|
|
# redirectUrl = "http$1://wiki.nixos.org/wiki/$2";
|
|
|
|
|
# patternType = "R";
|
|
|
|
|
# processMatches = "noProcessing";
|
|
|
|
|
# disabled = false;
|
|
|
|
|
# grouped = false;
|
|
|
|
|
# appliesTo = [
|
|
|
|
|
# "main_frame"
|
|
|
|
|
# ];
|
|
|
|
|
# }
|
|
|
|
|
# ];
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
packages = with outputs.packages."${system}"; [
|
|
|
|
|
immersive-translate
|
|
|
|
|
tridactyl
|
|
|
|
|
redirector
|
|
|
|
|
];
|
|
|
|
|
};
|
2025-06-14 01:22:51 +08:00
|
|
|
settings = {
|
|
|
|
|
"sidebar.verticalTabs" = true;
|
|
|
|
|
"sidebar.visibility" = "expand-on-hover";
|
|
|
|
|
"sidebar.main.tools" = "syncedtabs,history,bookmarks,aichat";
|
|
|
|
|
"sidebar.animation.expand-on-hover.duration-ms" = 150;
|
|
|
|
|
"sidebar.revamp" = true;
|
|
|
|
|
"browser.tabs.closeTabByDblclick" = true;
|
|
|
|
|
};
|
2025-01-14 19:09:13 +08:00
|
|
|
search = {
|
|
|
|
|
force = true;
|
2025-03-21 22:32:07 +08:00
|
|
|
default = "ddg";
|
2025-01-14 19:09:13 +08:00
|
|
|
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";
|
2025-04-28 21:20:32 +08:00
|
|
|
definedAliases = ["@np"];
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
|
|
|
|
"Nix Options" = {
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://search.nixos.org/options";
|
|
|
|
|
params = [
|
|
|
|
|
{
|
|
|
|
|
name = "channel";
|
|
|
|
|
value = "unstable";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "query";
|
|
|
|
|
value = "{searchTerms}";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
2025-04-28 21:20:32 +08:00
|
|
|
definedAliases = ["@no"];
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
|
|
|
|
"Home Manager Options" = {
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://home-manager-options.extranix.com";
|
|
|
|
|
params = [
|
|
|
|
|
{
|
|
|
|
|
name = "query";
|
|
|
|
|
value = "{searchTerms}";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "release";
|
|
|
|
|
value = "master";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
2025-04-28 21:20:32 +08:00
|
|
|
definedAliases = ["hm"];
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
|
|
|
|
"NUR Packages" = {
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://nur.nix-community.org/";
|
|
|
|
|
}
|
|
|
|
|
];
|
2025-04-28 21:20:32 +08:00
|
|
|
definedAliases = ["nu"];
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
|
|
|
|
"Nix Flakes" = {
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://search.nixos.org/flakes";
|
|
|
|
|
params = [
|
|
|
|
|
{
|
|
|
|
|
name = "channel";
|
|
|
|
|
value = "unstable";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "query";
|
|
|
|
|
value = "{searchTerms}";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
2025-04-28 21:20:32 +08:00
|
|
|
definedAliases = ["nf"];
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
|
|
|
|
"NixOS Wiki" = {
|
|
|
|
|
urls = [
|
|
|
|
|
{
|
|
|
|
|
template = "https://nixos.wiki/index.php";
|
|
|
|
|
params = [
|
|
|
|
|
{
|
|
|
|
|
name = "search";
|
|
|
|
|
value = "{searchTerms}";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
];
|
2025-04-28 21:20:32 +08:00
|
|
|
definedAliases = ["nw"];
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
2025-03-21 22:32:07 +08:00
|
|
|
"bing".metaData.hidden = true;
|
|
|
|
|
"google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
|
2025-01-14 19:09:13 +08:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
}
|