omniflake/home/firefox.nix
2026-01-22 16:44:45 +01:00

156 lines
6.5 KiB
Nix

{ config, pkgs, inputs, osConfig, ... }:
{
programs.firefox = {
enable = true;
policies = {
DisableFirefoxAccounts = true;
DisablePocket = true;
DisableTelemetry = true;
DownloadDirectory = "${config.home.homeDirectory}/tmp";
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
EnableTrackingProtection = {
Value = true;
Cryptomining = true;
Fingerprinting = true;
};
FirefoxHome = {
Search = true;
Pocket = false;
Snippets = false;
TopSites = true;
Highlights = false;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
};
profiles = {
${config.home.username} = {
name = config.home.username;
isDefault = true;
extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [
auto-tab-discard
keepassxc-browser
passff
# tampermonkey
ublock-origin
web-archives
zotero-connector
];
search = {
force = true;
default = "ddg";
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" ];
};
"NixOS Wiki" = {
urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
icon = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@nw" ];
};
"NixOS Options" = {
urls = [{ template = "https://search.nixos.org/options?channel=${osConfig.system.nixos.release}&query={searchTerms}"; }];
icon = "https://nixos.org/favicon.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@no" ];
};
"Home manager options" = {
urls = [{ template = "https://home-manager-options.extranix.com/?query={searchTerms}&release=release-${osConfig.system.nixos.release}"; }];
icon = "https://mipmip.github.io/home-manager-option-search/images/favicon.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@hm" ];
};
"Google maps" = {
urls = [{ template = "http://maps.google.com/?q={searchTerms}"; }];
icon = "https://www.google.com/images/branding/product/ico/maps15_bnuw3a_32dp.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@gm" ];
};
"Google scholar" = {
urls = [{ template = "https://scholar.google.com/scholar?q={searchTerms}"; }];
icon = "https://scholar.google.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@gs" ];
};
"UB" = {
urls = [{ template = "https://ubffm.hds.hebis.de/Search/Results?lookfor={searchTerms}"; }];
icon = "https://ubffm.hds.hebis.de/themes/ubffm/images/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@ub" ];
};
"SciHub" = {
urls = [{ template = "https://libgen.is/search.php?req={searchTerms}"; }];
icon = "https://libgen.is/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@lg" ];
};
"Libgen" = {
urls = [{ template = "https://libgen.is/search.php?req={searchTerms}"; }];
icon = "https://libgen.is/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@lg" ];
};
"Urban Dictionary" = {
urls = [{ template = "https://www.urbandictionary.com/define.php?term={searchTerms}"; }];
icon = "https://www.urbandictionary.com/favicon-32x32.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@ud" ];
};
"Leo" = {
urls = [{ template = "https://dict.leo.org/englisch-deutsch/{searchTerms}"; }];
icon = "https://dict.leo.org/img/favicons/ende-32.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@leo" ];
};
"Wikipedia".metaData.alias = "@wiki";
"bing".metaData.hidden = true;
"Amazon.de".metaData.hidden = true;
};
};
extraConfig = ''
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.bookmarks.addedImportButton", true);
user_pref("browser.migrate.content-modal.import-all.enabled", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.startup.page", 3);
user_pref("browser.tabs.firefox-view", false);
user_pref("browser.urlbar.showSearchSuggestionsFirst", false);
user_pref("browser.warnOnQuitShortcut", false);
user_pref("dom.security.https_only_mode", true);
user_pref("extensions.formautofill.creditCards.enabled", false);
user_pref("extensions.pocket.enabled", false);
user_pref("intl.accept_languages", "de-de,en-us,en");
user_pref("intl.regional_prefs.use_os_locales", true);
user_pref("media.eme.enabled", true);
user_pref("network.trr.custom_uri", "https://dns.quad9.net/dns-query");
user_pref("network.trr.mode", 2);
user_pref("network.trr.uri", "https://dns.quad9.net/dns-query");
user_pref("permissions.default.desktop-notification", 2);
user_pref("privacy.annotate_channels.strict_list.enabled", true);
user_pref("privacy.donottrackheader.enabled", true);
user_pref("privacy.globalprivacycontrol.enabled", true);
user_pref("signon.rememberSignons", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "");
'';
};
};
};
}