summaryrefslogtreecommitdiff
path: root/home/browsers/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'home/browsers/firefox')
-rw-r--r--home/browsers/firefox/default.nix16
-rw-r--r--home/browsers/firefox/extensions.nix6
-rw-r--r--home/browsers/firefox/policies.nix40
-rw-r--r--home/browsers/firefox/prefs.nix52
4 files changed, 103 insertions, 11 deletions
diff --git a/home/browsers/firefox/default.nix b/home/browsers/firefox/default.nix
index 608d4c5..724f286 100644
--- a/home/browsers/firefox/default.nix
+++ b/home/browsers/firefox/default.nix
@@ -7,7 +7,7 @@
extraPrefs = lib.fileContents ./mozilla.cfg;
userChrome = lib.fileContents ./userChrome.css;
my-firefox = pkgs.firefox.override {
- extraPrefs = extraPrefs;
+ inherit extraPrefs;
};
inherit (lib) mkIf;
@@ -16,21 +16,29 @@ in {
config = mkIf cfg.enable {
default.browser = lib.mkDefault "firefox";
+ mozilla = {
+ firefoxNativeMessagingHosts = lib.mkForce [];
+ thunderbirdNativeMessagingHosts = lib.mkForce [];
+ };
+
programs.firefox = {
enable = true;
package = my-firefox;
# import configuration
- policies = import ./policies.nix;
+ policies = import ./policies.nix {inherit config;};
+
+ # use xdg dirs
+ configPath = "${config.xdg.configHome}/mozilla/firefox";
# create profile for me :3
profiles.${config.user} = {
search = {
force = true;
- default = "ddg";
+ default = "noai";
};
- userChrome = userChrome;
+ inherit userChrome;
};
};
};
diff --git a/home/browsers/firefox/extensions.nix b/home/browsers/firefox/extensions.nix
index e8d6e2c..8eade0d 100644
--- a/home/browsers/firefox/extensions.nix
+++ b/home/browsers/firefox/extensions.nix
@@ -41,4 +41,10 @@
install_url = "https://www.mrfdev.com/downloads/enhancer_for_youtube-2.0.130.1.xpi";
installation_mode = "force_installed";
};
+
+ # Indie Wiki Buddy
+ "{cb31ec5d-c49a-4e5a-b240-16c767444f62}" = {
+ install_url = "https://addons.mozilla.org/firefox/downloads/latest/indie-wiki-buddy/latest.xpi";
+ installation_mode = "force_installed";
+ };
}
diff --git a/home/browsers/firefox/policies.nix b/home/browsers/firefox/policies.nix
index 243cd9a..52b188c 100644
--- a/home/browsers/firefox/policies.nix
+++ b/home/browsers/firefox/policies.nix
@@ -1,4 +1,4 @@
-{
+{config, ...}: {
# policies to be set in firefox
# see: https://mozilla.github.io/policy-templates/
@@ -11,6 +11,9 @@
Cryptomining = true;
Fingerprinting = true;
EmailTracking = true;
+ SuspectedFingerprinting = true;
+ BaselineExceptions = false;
+ ConvenienceExceptions = false;
};
# Certificates
@@ -50,7 +53,7 @@
UrlbarInterventions = false;
SkipOnboarding = true;
MoreFromMozilla = false;
- Labs = false;
+ FirefoxLabs = false;
Locked = true;
};
@@ -77,7 +80,9 @@
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
+ Stories = false;
SponsoredPocket = false;
+ SponsoredStories = false;
Snippets = false;
Locked = true;
};
@@ -91,6 +96,15 @@
Locked = true;
};
+ # Fuck AI
+ GenerativeAI = {
+ Enabled = false;
+ Chatbot = false;
+ LinkPreviews = false;
+ TabGroups = false;
+ Locked = true;
+ };
+
# Save All on Shutdown
SanitizeOnShutdown = false;
@@ -118,10 +132,32 @@
DisplayBookmarksToolbar = "newtab";
NoDefaultBookmarks = true;
+ # Search Engines
+ SearchEngines = {
+ Default = "noai";
+ Remove = [
+ "DuckDuckGo"
+ "Google"
+ "Amazon.com"
+ "Bing"
+ "eBay"
+ "Wikipedia (en)"
+ "Perplexity"
+ ];
+ Add = [
+ {
+ Name = "noai";
+ URLTemplate = "https://noai.duckduckgo.com/?q={searchTerms}";
+ }
+ ];
+ };
+
# Miscellaneous
HttpsOnlyMode = "force_enabled";
HardwareAcceleration = true;
DontCheckDefaultBrowser = true;
PromptForDownloadLocation = false;
+ DefaultDownloadDirectory = "${config.homePath}/downloads";
PrivateBrowsingModeAvailability = 0;
+ SkipTermsOfUse = true;
}
diff --git a/home/browsers/firefox/prefs.nix b/home/browsers/firefox/prefs.nix
index 73d2781..123dc4b 100644
--- a/home/browsers/firefox/prefs.nix
+++ b/home/browsers/firefox/prefs.nix
@@ -56,11 +56,19 @@ in {
"browser.urlbar.suggest.openpage" = lock-false;
"browser.urlbar.suggest.pocket" = lock-false;
"browser.urlbar.suggest.remotetab" = lock-false;
+ "browser.urlbar.suggest.quickactions" = lock-false;
"browser.urlbar.suggest.topsites" = lock-false;
"browser.urlbar.suggest.trending" = lock-false;
"browser.urlbar.suggest.weather" = lock-false;
"browser.urlbar.suggest.yelp" = lock-false;
+ # search suggestions
+ "browser.search.suggest.enabled" = lock-true;
+ "browser.search.suggest.enabled.private" = lock-false;
+
+ # remember history
+ "places.history.enabled" = lock-true;
+
# privacy
"privacy.globalprivacycontrol.enabled" = lock-true;
@@ -116,13 +124,47 @@ in {
"browser.tabs.closeTabByDblclick" = lock-true;
"ui.key.menuAccessKeyFocuses" = lock-false;
+ # open links in tabs not new windows
+ "browser.link.open_newwindow" = {
+ Value = 3;
+ Status = "locked";
+ };
+
+ # load images in new tab, dont switch immediately
+ "browser.link.open_newwindow.override.external" = {
+ Value = -1;
+ Status = "locked";
+ };
+
+ # open previous tabs on start
+ "browser.startup.page" = {
+ Value = 3;
+ Status = "locked";
+ };
+
# general settings
- "general.autoScroll" = lock-false;
- "general.smoothScroll" = lock-true;
- "widget.gtk.overlay-scrollbars.enabled" = lock-false;
"accessibility.browsewithcaret" = lock-false;
"accessibility.typeaheadfind" = lock-false;
- "media.hardwaremediakeys.enabled" = lock-true;
- "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false;
"browser.aboutConfig.showWarning" = lock-false;
+ "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false;
+ "browser.ctrlTab.sortByRecentlyUsed" = lock-false;
+ "browser.display.document_color_use" = {
+ Value = 1; # disable contrast controll
+ Status = "locked";
+ };
+ "browser.ml.linkPreview.enabled" = lock-false;
+ "browser.privatebrowsing.autostart" = lock-false;
+ "browser.tabs.hoverPreview.showThumbnails" = lock-true;
+ "browser.tabs.loadInBackground" = lock-true;
+ "browser.warnOnQuitShortcut" = lock-true;
+ "browser.zoom.full" = lock-true;
+ "general.autoScroll" = lock-false;
+ "general.smoothScroll" = lock-true;
+ "layout.css.always_underline_links" = lock-false;
+ "layout.spellcheckDefault" = {
+ Value = 1;
+ Status = "locked";
+ };
+ "media.hardwaremediakeys.enabled" = lock-true;
+ "widget.gtk.overlay-scrollbars.enabled" = lock-false;
}