2024-02-09 22:05:24 +08:00
|
|
|
inputs:
|
|
|
|
{
|
2024-08-03 17:40:11 +08:00
|
|
|
options.nixos.packages.firefox = let inherit (inputs.lib) mkOption types; in mkOption
|
|
|
|
{
|
|
|
|
type = types.nullOr (types.submodule {});
|
|
|
|
default = if inputs.config.nixos.system.gui.enable then {} else null;
|
|
|
|
};
|
|
|
|
config = let inherit (inputs.config.nixos.packages) firefox; in inputs.lib.mkIf (firefox != null)
|
2024-02-09 22:05:24 +08:00
|
|
|
{
|
2024-02-11 11:59:31 +08:00
|
|
|
# still enable global firefox, to install language packs
|
2024-05-17 12:31:43 +08:00
|
|
|
programs.firefox =
|
|
|
|
{
|
|
|
|
enable = true;
|
|
|
|
languagePacks = [ "zh-CN" "en-US" ];
|
2024-09-01 16:16:59 +08:00
|
|
|
nativeMessagingHosts.packages = with inputs.pkgs; [ uget-integrator firefoxpwa ];
|
2024-05-17 12:31:43 +08:00
|
|
|
};
|
2024-09-01 17:23:17 +08:00
|
|
|
nixos =
|
|
|
|
{
|
|
|
|
packages.packages._packages = [ inputs.pkgs.firefoxpwa ];
|
|
|
|
user.sharedModules =
|
|
|
|
[{
|
|
|
|
config =
|
|
|
|
{
|
|
|
|
programs.firefox =
|
|
|
|
{
|
|
|
|
enable = true;
|
2024-09-24 22:53:33 +08:00
|
|
|
nativeMessagingHosts = with inputs.pkgs;
|
|
|
|
[ kdePackages.plasma-browser-integration uget-integrator firefoxpwa ];
|
2024-09-02 21:47:26 +08:00
|
|
|
# TODO: use fixed-version of plugins
|
2024-09-01 17:23:17 +08:00
|
|
|
policies.DefaultDownloadDirectory = "\${home}/Downloads";
|
2024-09-02 21:47:26 +08:00
|
|
|
profiles.default =
|
2024-09-01 17:23:17 +08:00
|
|
|
{
|
2024-09-02 21:47:26 +08:00
|
|
|
extensions = with inputs.pkgs.firefox-addons;
|
|
|
|
[
|
2024-09-04 12:18:20 +08:00
|
|
|
tampermonkey bitwarden cookies-txt dualsub firefox-color i-dont-care-about-cookies
|
2024-09-02 21:47:26 +08:00
|
|
|
metamask pakkujs switchyomega rsshub-radar rsspreview tabliss tree-style-tab ublock-origin wallabagger
|
2024-09-08 19:19:07 +08:00
|
|
|
wappalyzer grammarly plasma-integration zotero-connector pwas-for-firefox smartproxy kiss-translator
|
2024-09-02 21:47:26 +08:00
|
|
|
];
|
|
|
|
search = { default = "Google"; force = true; };
|
|
|
|
userChrome = builtins.readFile "${inputs.topInputs.lepton}/userChrome.css";
|
|
|
|
userContent = builtins.readFile "${inputs.topInputs.lepton}/userContent.css";
|
|
|
|
extraConfig = builtins.readFile "${inputs.topInputs.lepton}/user.js";
|
|
|
|
settings =
|
|
|
|
{
|
|
|
|
# general
|
|
|
|
"browser.search.region" = "CN";
|
|
|
|
"intl.locale.requested" = "zh-CN,en-US";
|
|
|
|
"browser.aboutConfig.showWarning" = false;
|
|
|
|
"browser.bookmarks.showMobileBookmarks" = true;
|
|
|
|
"browser.download.panel.shown" = true;
|
|
|
|
"browser.download.useDownloadDir" = true;
|
|
|
|
"browser.newtab.extensionControlled" = true;
|
|
|
|
"browser.toolbars.bookmarks.visibility" = "never";
|
|
|
|
# allow to apply userChrome.css
|
|
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
|
|
# automatically enable extensions
|
|
|
|
"extensions.autoDisableScopes" = 0;
|
2024-09-01 17:23:17 +08:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
home.file.".mozilla/firefox/profiles.ini".force = true;
|
|
|
|
};
|
|
|
|
}];
|
|
|
|
};
|
2024-02-09 22:05:24 +08:00
|
|
|
};
|
|
|
|
}
|