nix-config/home/librewolf.nix
Donovan Glover 92d9ed77b0
librewolf: Configure settings at the profile level
Fixes an issue where New Tab Identity wasn't being loaded on first
launch of the profile due to settings not being profile-specific.

Long-term this also makes it possible to take advantage of the "Show
only modified preferences" feature, which showed our changes as the
defaults before.
2024-08-31 10:32:08 -04:00

86 lines
2.1 KiB
Nix

{
pkgs,
lib,
nix-config,
phone,
...
}:
let
inherit (lib) mkIf singleton;
inherit (nix-config.packages.${pkgs.system}) friendlyfox;
in
{
programs.librewolf = {
enable = true;
package = pkgs.librewolf.override {
cfg.speechSynthesisSupport = false;
};
profiles.default = {
extensions = with nix-config.packages.${pkgs.system}; [
ublock-origin
yomitan
redlib
new-tab-identity
];
search = {
force = true;
default = "Mullvad";
privateDefault = "Mullvad";
engines = {
Mullvad = {
urls = singleton {
template = "https://leta.mullvad.net";
params = singleton {
name = "q";
value = "{searchTerms}";
};
};
icon = "${pkgs.mullvad-vpn}/share/icons/hicolor/32x32/apps/mullvad-vpn.png";
};
};
};
settings = {
"extensions.autoDisableScopes" = 0;
"middlemouse.paste" = false;
"browser.download.useDownloadDir" = true;
"browser.tabs.insertAfterCurrent" = true;
"browser.tabs.warnOnClose" = true;
"browser.toolbars.bookmarks.visibility" = "never";
"browser.quitShortcut.disabled" = true;
"browser.sessionstore.restore_pinned_tabs_on_demand" = true;
"browser.urlbar.suggest.bookmark" = false;
"browser.urlbar.suggest.engines" = false;
"browser.urlbar.suggest.history" = false;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.topsites" = false;
"browser.urlbar.trimHttps" = true;
"sidebar.position_start" = false;
"findbar.highlightAll" = true;
"xpinstall.signatures.required" = false;
"network.dns.native_https_query" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
};
};
};
home.file = mkIf phone {
".librewolf/default/chrome/userChrome.css".source = "${friendlyfox}/userChrome.css";
".librewolf/default/chrome/userContent.css".source = "${friendlyfox}/userContent.css";
};
}