mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
170 lines
5.4 KiB
Nix
170 lines
5.4 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
inherit (pkgs) nur;
|
|
|
|
cfg = config.programs.zen-browser;
|
|
in
|
|
{
|
|
programs.zen-browser = {
|
|
# 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?&summary=0&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
|
|
#
|
|
# "locked" semantic from zen (doesn't seem to be doing anything, attempted for zen-twilight 1.18t)
|
|
# https://github.com/0xc000022070/zen-browser-flake/tree/main#preferences
|
|
#
|
|
# To check which option is mapped to which about:config
|
|
# - back preference file
|
|
# cp .zen/default/prefs.js{,.bk}
|
|
# - click the buttons
|
|
# - diff it
|
|
# diff .zen/default/prefs.js{.bk,}
|
|
profiles.default = {
|
|
settings = {
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
"browser.tabs.loadInBackground" = true;
|
|
"browser.ctrlTab.sortByRecentlyUsed" = false;
|
|
"layout.css.devPixelsPerPx" = 1.1;
|
|
"browser.startup.page" = 1;
|
|
"browser.translations.automaticallyPopup" = false;
|
|
"browser.tabs.closeWindowWithLastTab" = true;
|
|
"general.smoothScroll" = false;
|
|
|
|
# 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
|
|
associations = lib.genAttrs [
|
|
"application/x-extension-shtml"
|
|
"application/x-extension-xhtml"
|
|
"application/x-extension-html"
|
|
"application/x-extension-xht"
|
|
"application/x-extension-htm"
|
|
# "x-scheme-handler/unknown"
|
|
# "x-scheme-handler/mailto"
|
|
"x-scheme-handler/chrome"
|
|
"x-scheme-handler/about"
|
|
"x-scheme-handler/https"
|
|
"x-scheme-handler/http"
|
|
"application/xhtml+xml"
|
|
# "application/json"
|
|
# "text/plain"
|
|
"text/html"
|
|
] (_: cfg.package.meta.desktopFileName);
|
|
in
|
|
lib.mkIf cfg.enable {
|
|
associations.added = associations;
|
|
defaultApplications = associations;
|
|
};
|
|
}
|