133 lines
4.8 KiB
Nix
133 lines
4.8 KiB
Nix
{ config, lib, pkgs, inputs, ... }:
|
|
|
|
with lib;
|
|
with lib.my;
|
|
let cfg = config.modules.desktop.browsers.firefox;
|
|
in {
|
|
options.modules.desktop.browsers.firefox = {
|
|
enable = mkBoolOpt false;
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
home.file.".mozilla/firefox/Default/chrome/firefox-gnome-theme".source = inputs.firefox-gnome-theme;
|
|
|
|
home.programs.firefox = {
|
|
enable = true;
|
|
profiles.Default = {
|
|
search = {
|
|
default = "DuckDuckGo";
|
|
force = true;
|
|
};
|
|
userChrome = ''
|
|
@import "firefox-gnome-theme/userChrome.css";
|
|
'';
|
|
userContent = ''
|
|
@import "firefox-gnome-theme/userContent.css";
|
|
'';
|
|
settings = {
|
|
## GNOME theme
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Enable customChrome.cs
|
|
"browser.uidensity" = 0; # Set UI density to normal
|
|
"svg.context-properties.content.enabled" = true; # Enable SVG context-propertes
|
|
"browser.theme.dark-private-windows" = false; # Disable private window dark theme
|
|
|
|
## Preferences
|
|
"browser.ctrlTab.sortByRecentlyUsed" = true;
|
|
"browser.newtabpage.enabled" = false;
|
|
"browser.search.widget.inNavBar" = true;
|
|
"browser.startup.page" = 3;
|
|
"browser.startup.homepage" = "https://www.vimium.com";
|
|
"browser.toolbars.bookmarks.visibility" = "never";
|
|
|
|
## Experiments
|
|
"app.normandy.enabled" = false;
|
|
"app.normandy.api_url" = "";
|
|
"app.normandy.user_id" = "";
|
|
"extensions.screenshots.disabled" = true;
|
|
"extensions.screenshots.upload-disabled" = true;
|
|
"experiments.supported" = false;
|
|
"experiments.enabled" = false;
|
|
"experiments.manifest.uri" = "";
|
|
"network.allow-experiments" = false;
|
|
"privacy.trackingprotection.enabled" = false;
|
|
|
|
## Geo
|
|
"geo.enabled" = false;
|
|
"geo.provider.use_gpsd" = false;
|
|
"geo.wifi.uri" = "";
|
|
"browser.search.geoip.url" = "";
|
|
"browser.search.geoSpecificDefaults" = false;
|
|
"browser.search.geoSpecificDefaults.url" = "";
|
|
|
|
## Window meddling / popups
|
|
"dom.disable_window_open_feature.close" = true;
|
|
"dom.disable_window_open_feature.location" = true;
|
|
"dom.disable_window_open_feature.menubar" = true;
|
|
"dom.disable_window_open_feature.minimizable" = true;
|
|
"dom.disable_window_open_feature.personalbar" = true;
|
|
"dom.disable_window_open_feature.resizable" = true;
|
|
"dom.disable_window_open_feature.status" = true;
|
|
"dom.disable_window_open_feature.titlebar" = true;
|
|
"dom.disable_window_open_feature.toolbar" = true;
|
|
"dom.disable_window_move_resize" = true;
|
|
"browser.link.open_newwindow" = 3;
|
|
"browser.link.open_newwindow.restriction" = 0;
|
|
"dom.disable_open_during_load" = true;
|
|
"dom.popup_allowed_events" = "click dblclick";
|
|
|
|
## Workers
|
|
# "dom.serviceWorkers.enabled" = false;
|
|
"dom.push.enabled" = false;
|
|
"dom.webnotifications.enabled" = false;
|
|
"dom.webnotifications.serviceworker.enabled" = false;
|
|
"permissions.default.desktop-notification" = 2;
|
|
|
|
## DOM / JavaScript
|
|
# "dom.event.clipboardevents.enabled" = false;
|
|
"middlemouse.paste" = false;
|
|
# "dom.allow_cut_copy" = false;
|
|
"dom.disable_beforeunload" = true;
|
|
"dom.vibrator.enabled" = false;
|
|
# "javascript.options.asmjs" = false;
|
|
# "javascript.options.wasm" = false;
|
|
"dom.targetBlankNoOpener.enabled" = true;
|
|
|
|
## Hardware fingerprinting
|
|
"dom.battery.enabled" = false;
|
|
"dom.vr.enabled" = false;
|
|
"media.navigator.enabled" = false;
|
|
"dom.webaudio.enabled" = false;
|
|
|
|
## Isolation
|
|
"privacy.firstparty.isolate" = true;
|
|
"privacy.firstparty.isolate.restrict_opener_access" = true;
|
|
|
|
## Pocket/Hello
|
|
"loop.enabled" = false;
|
|
"loop.feedback.baseUrl" = "";
|
|
"loop.gettingStarted.url" = "";
|
|
"loop.learnMoreUrl" = "";
|
|
"loop.legal.ToS_url" = "";
|
|
"loop.legal.privacy_url" = "";
|
|
"loop.oauth.google.redirect_uri" = "";
|
|
"loop.oauth.google.scope" = "";
|
|
"loop.server" = "";
|
|
"loop.soft_start_hostname" = "";
|
|
"loop.support_url" = "";
|
|
"loop.throttled2" = false;
|
|
"loop.logDomains" = false;
|
|
"browser.pocket.enabled" = false;
|
|
"browser.pocket.api" = "";
|
|
"browser.pocket.site" = "";
|
|
"browser.pocket.oAuthConsumerKey" = "";
|
|
"browser.pocket.useLocaleList" = false;
|
|
"brwoser.pocket.enabledLocales" = "";
|
|
|
|
## Misc
|
|
"browser.selfsupport.url" = "";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|