nixos/home/modules/programs/firefox.nix

142 lines
3.7 KiB
Nix
Raw Normal View History

2025-01-14 19:09:13 +08:00
{
pkgs,
outputs,
system,
lib,
config,
...
}:
let
cfg = config.youthlic.programs.firefox;
in
{
options = {
youthlic.programs.firefox = {
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;
languagePacks = [
"zh-CN"
"en-US"
];
profiles.default = {
name = "default";
isDefault = true;
2025-02-19 23:59:39 +08:00
extensions.packages = with outputs.packages."${system}"; [
2025-01-16 23:43:28 +08:00
immersive-translate
tridactyl
2025-01-14 19:09:13 +08:00
];
search = {
force = true;
default = "DuckDuckGo";
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" ];
};
"Nix Options" = {
urls = [
{
template = "https://search.nixos.org/options";
params = [
{
name = "channel";
value = "unstable";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
definedAliases = [ "@no" ];
};
"Home Manager Options" = {
urls = [
{
template = "https://home-manager-options.extranix.com";
params = [
{
name = "query";
value = "{searchTerms}";
}
{
name = "release";
value = "master";
}
];
}
];
definedAliases = [ "hm" ];
};
"NUR Packages" = {
urls = [
{
template = "https://nur.nix-community.org/";
}
];
definedAliases = [ "nu" ];
};
"Nix Flakes" = {
urls = [
{
template = "https://search.nixos.org/flakes";
params = [
{
name = "channel";
value = "unstable";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
definedAliases = [ "nf" ];
};
"NixOS Wiki" = {
urls = [
{
template = "https://nixos.wiki/index.php";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
definedAliases = [ "nw" ];
};
"Bing".metaData.hidden = true;
"Google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
};
};
};
};
};
}