aboutsummaryrefslogtreecommitdiff
path: root/modules/firefox.home/default.nix
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2024-08-19 14:36:34 +0530
committerAkshay Nair <phenax5@gmail.com>2024-08-19 14:36:34 +0530
commit6206aaf88532d153f0e01e22772b7f6e1c979afd (patch)
tree15573ffa93088ba2c10e86af2675045086975555 /modules/firefox.home/default.nix
parent02612ccd49d561808ff931611b2ea865038b0a51 (diff)
downloadnixos-config-6206aaf88532d153f0e01e22772b7f6e1c979afd.tar.gz
nixos-config-6206aaf88532d153f0e01e22772b7f6e1c979afd.zip
Enabled user js for firefox + global keybindings manager
Diffstat (limited to 'modules/firefox.home/default.nix')
-rw-r--r--modules/firefox.home/default.nix73
1 files changed, 59 insertions, 14 deletions
diff --git a/modules/firefox.home/default.nix b/modules/firefox.home/default.nix
index b315a36..e6f5aad 100644
--- a/modules/firefox.home/default.nix
+++ b/modules/firefox.home/default.nix
@@ -12,15 +12,17 @@ let
"https://addons.mozilla.org/firefox/downloads/file/4218479/font_inspect-0.5.8.xpi"
"https://addons.mozilla.org/firefox/downloads/file/4314064/react_devtools-5.3.1.xpi"
- # content
+ # others
"https://addons.mozilla.org/firefox/downloads/file/4332776/languagetool-8.11.6.xpi"
"https://addons.mozilla.org/firefox/downloads/file/4317971/darkreader-4.9.88.xpi"
+ "https://addons.mozilla.org/firefox/downloads/file/3970625/screen_recorder-0.1.8.xpi"
];
# about:config
preferences = {
"browser.newtabpage.enabled" = false;
"browser.startup.homepage" = homepage-url;
+ "browser.newtab.url" = homepage-url;
"browser.startup.blankWindow" = false;
"browser.tabs.drawInTitlebar" = true;
@@ -29,17 +31,21 @@ let
"browser.theme.toolbar-theme" = 0;
"browser.aboutConfig.showWarning" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
- "devtools.theme" = "dark";
- "devtools.toolbox.alwaysOnTop" = true;
- "devtools.toolbox.host" = "window";
+ # "devtools.theme" = "dark";
+ "ui.systemUsesDarkTheme" = 2;
+ # "devtools.toolbox.alwaysOnTop" = true;
+ # "devtools.toolbox.host" = "window";
"layers.acceleration.force-enabled" = true;
"gfx.webrender.all" = true;
- "svg.context-properties.content.enabled" = true;
+ # "svg.context-properties.content.enabled" = true;
+ "widget.gtk.rounded-bottom-corners.enabled" = true;
+ "browser.urlbar.suggest.calculator" = true;
+ "browser.urlbar.unitConversion.enabled" = true;
"extensions.pocket.enabled" = false;
"extensions.pocket.showHome" = false;
"browser.urlbar.suggest.pocket" = false;
- "privacy.donottrackheader.enabled" = true;
+ # "privacy.donottrackheader.enabled" = true;
"privacy.globalprivacycontrol.enabled" = true;
"browser.search.suggest.enabled" = false;
"browser.urlbar.suggest.searches" = false;
@@ -48,11 +54,23 @@ let
"browser.dataFeatureRecommendations.enabled" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
+ "layout.css.has-selector.enabled" = true;
"browser.toolbars.bookmarks.visibility" = "never";
- "identity.fxaccounts.toolbar.enabled" = false;
+ # "identity.fxaccounts.toolbar.enabled" = false;
"browser.tabs.insertAfterCurrent" = true;
"browser.urlbar.shortcuts.bookmarks" = false;
"browser.urlbar.suggest.bookmark" = false;
+ "browser.newtab.privateAllowed" = true;
+
+ "browser.download.forbid_open_with" = true;
+ "browser.download.autohideButton" = true;
+ "browser.download.useDownloadDir" = false;
+
+ # HAcky stuff
+ # "general.config.sandbox_enabled" = false;
+ # "general.config.obscure_value" = false;
+ "xpinstall.signatures.required" = false;
+ "extensions.install_origins.enabled" = false;
};
# https://mozilla.github.io/policy-templates
@@ -60,30 +78,40 @@ let
ManagedBookmarks = [
{ toplevel_name = "Managed bookmarks"; }
{ name = "Daily Dev"; url = "https://app.daily.dev"; }
+ { name = "Email: Microsoft Outlook"; url = "https://outlook.office365.com/mail/"; }
+ { name = "Email: GMail"; url = "https://mail.google.com/mail/u/0/"; }
# { name = "Shtuff"; children = [] }
];
DisplayBookmarksToolbar = "never";
NoDefaultBookmarks = true;
- DisableTelemetry = true;
+ DisableAppUpdate = true;
+ DisableSystemAddonUpdate = true;
+ DisableProfileImport = true;
DisableFirefoxStudies = true;
+ DisableTelemetry = true;
+ DisableFeedbackCommands = true;
+ DisablePocket = true;
DisableAccounts = true;
DontCheckDefaultBrowser = true;
OfferToSaveLogins = false;
PasswordManagerEnabled = false;
- DefaultDownloadDirectory = "\${home}/Downloads/firefox";
+ DefaultDownloadDirectory = "${config.home.homeDirectory}/Downloads/firefox";
NewTabPage = false;
Homepage = { URL = homepage-url; StartPage = "previous-session"; };
+ OverrideFirstRunPage = "";
# PopupBlocking = [];
SearchEngines = {
Default = "DuckDuckGo";
SearchSuggestEnabled = false;
+ Remove = [ "Google" "Bing" "Amazon.com" "eBay" "Wikipedia" ];
+ PreventInstalls = false;
Add = [
{
Name = "DuckDuckGo";
URLTemplate = "https://duckduckgo.com/?q={searchTerms}";
- Alias = "google";
+ Alias = "ddg";
}
{
Name = "Google";
@@ -107,12 +135,30 @@ let
# };
# };
- Extensions = { Install = extensions; };
+ Extensions = {
+ Install = extensions;
+ Uninstall = [
+ "google@search.mozilla.org"
+ "bing@search.mozilla.org"
+ "amazondotcom@search.mozilla.org"
+ "ebay@search.mozilla.org"
+ "wikipedia@search.mozilla.org"
+ ];
+ };
+ ExtensionSettings = {
+ "google@search.mozilla.org".installation_mode = "blocked";
+ "bing@search.mozilla.org".installation_mode = "blocked";
+ "amazondotcom@search.mozilla.org".installation_mode = "blocked";
+ "ebay@search.mozilla.org".installation_mode = "blocked";
+ "wikipedia@search.mozilla.org".installation_mode = "blocked";
+ };
Preferences = lib.mapAttrs (_key: val: { Status = "locked"; Value = val; }) preferences;
};
- firefox = pkgs.wrapFirefox unwrapped-firefox-package {};
+ firefox = pkgs.wrapFirefox unwrapped-firefox-package {
+ extraPrefs = builtins.readFile ./autoconfig.js;
+ };
profilePath = "default";
in {
@@ -121,14 +167,13 @@ in {
package = firefox;
nativeMessagingHosts = [ pkgs.tridactyl-native ];
-
policies = policies;
};
home.file = {
".config/tridactyl".source = ./tridactyl;
- ".mozilla/firefox/${profilePath}/chrome/userChrome.css".text = builtins.readFile ./userChrome.css;
+ ".mozilla/firefox/${profilePath}/chrome".source = ./chrome;
".mozilla/firefox/profiles.ini".text = lib.generators.toINI {} {
Profile1 = {