mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 06:39:14 +00:00
148 lines
4.6 KiB
Nix
148 lines
4.6 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
inherit (pkgs) nur;
|
|
|
|
cfg = config.programs.firefox;
|
|
in
|
|
{
|
|
programs.firefox = {
|
|
# https://mozilla.github.io/policy-templates
|
|
# The following have more complex logic, keep them as policies and not profiles
|
|
policies = {
|
|
RequestedLocales = [
|
|
"fr-FR" # for fuck sake stop showing me translated version of French gov sites
|
|
"zh-TW"
|
|
"en-US"
|
|
];
|
|
|
|
SearchEngines = {
|
|
Remove = [
|
|
"Google"
|
|
"Bing"
|
|
"DuckDuckGo"
|
|
"Qwant"
|
|
"eBay"
|
|
"Perplexity"
|
|
];
|
|
Default = "Brave";
|
|
Add = [
|
|
{
|
|
Name = "Brave";
|
|
Alias = "@br";
|
|
URLTemplate = "https://search.brave.com/search?q={searchTerms}&source=web";
|
|
SuggestURLTemplate = "https://suggestqueries.google.com/complete/search?q={searchTerms}";
|
|
}
|
|
];
|
|
};
|
|
NoDefaultBookmarks = true;
|
|
DisplayMenuBar = "never";
|
|
DisplayBookmarksToolbar = "never";
|
|
DNSOverHTTPS = {
|
|
Enabled = false;
|
|
};
|
|
};
|
|
|
|
# https://searchfox.org/mozilla-central/source/browser/components/enterprisepolicies/Policies.sys.mjs
|
|
# Some policies can be rewritten to profiles configuration
|
|
profiles.default = {
|
|
settings = {
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
"browser.tabs.loadInBackground" = true;
|
|
"browser.ctrlTab.sortByRecentlyUsed" = false;
|
|
"layout.css.devPixelsPerPx" = 1.1;
|
|
|
|
# open links in new window
|
|
# this works a lot better with xmonad where I have a bunch of windows
|
|
"browser.link.open_newwindow" = 2;
|
|
|
|
# Sponsored crap
|
|
# Yes
|
|
"browser.newtabpage.activity-stream.showSearch" = true;
|
|
"browser.newtabpage.activity-stream.feeds.topsites" = true;
|
|
# No
|
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
"browser.newtabpage.activity-stream.feeds.section.highlights" = false;
|
|
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
|
|
|
# URL
|
|
# Yes
|
|
"browser.urlbar.suggest.quicksuggest.nonsponsored" = true;
|
|
# No
|
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
|
|
|
# Pasword manager
|
|
"signon.rememberSignons" = false;
|
|
"services.passwordSavingEnabled" = false;
|
|
"pref.privacy.disable_button.view_passwords" = false;
|
|
|
|
# Hardware acceleration
|
|
"layers.acceleration.disabled" = false;
|
|
|
|
# Screenshot
|
|
"screenshots.browser.component.enabled" = true;
|
|
|
|
# Recommendations
|
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
|
"extensions.htmlaboutaddons.recommendations.enabled" = false; # Addons
|
|
|
|
# Onboarding
|
|
"browser.aboutwelcome.enabled" = false;
|
|
|
|
# AI crap
|
|
"browser.ml.chat.enabled" = false;
|
|
"browser.ml.chat.page" = false;
|
|
"browser.ml.chat.shortcuts" = false;
|
|
"browser.ml.chat.sidebar" = false;
|
|
|
|
# Prevent WebRTC leak
|
|
# https://mullvad.net/en/help/webrtc
|
|
"media.peerconnection.enabled" = false;
|
|
};
|
|
|
|
extensions.packages =
|
|
let
|
|
addons = nur.repos.rycee.firefox-addons;
|
|
in
|
|
[
|
|
addons.ublock-origin
|
|
addons.privacy-badger
|
|
addons.user-agent-string-switcher
|
|
|
|
/*
|
|
Here's to you who want to remove news feed eradicator because you find it annoying:
|
|
It is here to annoy you so it is less likely for you to be on the agency inversion path.
|
|
DO NOT REMOVE IT. I repeat, DO NOT REMOVE IT.
|
|
|
|
If you think it's annoying, go do some jump rope, sing, live.
|
|
*/
|
|
addons.news-feed-eradicator # did you read the comment above?
|
|
addons.multi-account-containers
|
|
];
|
|
};
|
|
};
|
|
|
|
xdg.mimeApps =
|
|
let
|
|
# source: https://unix.stackexchange.com/a/684582
|
|
associations = {
|
|
"text/html" = "firefox.desktop";
|
|
"x-scheme-handler/http" = "firefox.desktop";
|
|
"x-scheme-handler/https" = "firefox.desktop";
|
|
"x-scheme-handler/about" = "firefox.desktop";
|
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
|
};
|
|
in
|
|
lib.mkIf cfg.enable {
|
|
enable = true;
|
|
associations.added = associations;
|
|
defaultApplications = associations;
|
|
};
|
|
}
|