Migrate config from dotfiles
This commit is contained in:
132
modules/desktop/browsers/firefox.nix
Normal file
132
modules/desktop/browsers/firefox.nix
Normal file
@ -0,0 +1,132 @@
|
||||
{ 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" = "";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user