aboutsummaryrefslogtreecommitdiff
path: root/modules/firefox.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/firefox.nix')
-rw-r--r--modules/firefox.nix96
1 files changed, 73 insertions, 23 deletions
diff --git a/modules/firefox.nix b/modules/firefox.nix
index 8423ec4..e95f646 100644
--- a/modules/firefox.nix
+++ b/modules/firefox.nix
@@ -1,42 +1,92 @@
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, inputs, ... }:
let
cfg = config.firefox;
in {
- options.enable = lib.mkEnableOption = "Setup firefox";
+ options.firefox.enable = lib.mkEnableOption "Setup firefox";
config = lib.mkIf cfg.enable {
- program.firefox = {
+ programs.firefox = {
enable = true;
- extensions = with pkgs.nur.repos.rycee.firefox-addons; [
- ublock-origin
- istilldontcareaboutcookies
- sponsorblock
- vimium-c
- startpage-private-search
- ];
+ profiles.default = {
+ extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
+ ublock-origin
+ istilldontcareaboutcookies
+ sponsorblock
+ vimium-c
+ startpage-private-search
+ adaptive-tab-bar-colour
+ ];
+ settings = {
+ "extensions.autoDisableScopes" = 0;
+ };
+ };
- userProfile = {
- preferences = {
- # Disable the Bookmarks Toolbar
- "browser.toolbars.bookmarks.visibility" = "never";
-
- # Disable Pocket
- "extensions.pocket.enabled" = false;
+ policies = {
+ DisableTelemetry = true;
+ DisableFirefoxStudies = true;
+ EnableTrackingProtection = {
+ Value= true;
+ Locked = true;
+ Cryptomining = true;
+ Fingerprinting = true;
+ };
+ DisablePocket = true;
+ DisplayBookmarksToolbar = "never";
- # Remove Firefox View
- "browser.newtabpage.activity-stream.showSponsored" = false;
+ Preferences = {
+ # Remove Firefox View
+ "browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSearch" = false;
"browser.newtabpage.activity-stream.showTopSites" = false;
"browser.newtabpage.activity-stream.showHighlights" = false;
+ "browser.newtabpage.enabled" = false;
+ "browser.toolbars.bookmarks.visibility" = "never";
- # privacy settings
- "privacy.firstparty.isolate" = true; # Isolate cookies per site
+ # privacy settings
+ "privacy.firstparty.isolate" = true; # Isolate cookies per site
"privacy.resistFingerprinting" = true;
+
+ # Enable HTTPS-Only Mode
+ "dom.security.https_only_mode" = true;
+ "dom.security.https_only_mode_ever_enabled" = true;
+
+ # Privacy settings
+ #"privacy.donottrackheader.enabled" = true;
"privacy.trackingprotection.enabled" = true;
+ "privacy.trackingprotection.socialtracking.enabled" = true;
+ "privacy.partition.network_state.ocsp_cache" = true;
+
+ # Disable all sorts of telemetry
+ "browser.newtabpage.activity-stream.feeds.telemetry" = false;
+ "browser.newtabpage.activity-stream.telemetry" = false;
+ "browser.ping-centre.telemetry" = false;
+ "toolkit.telemetry.archive.enabled" = false;
+ "toolkit.telemetry.bhrPing.enabled" = false;
+ "toolkit.telemetry.enabled" = false;
+ "toolkit.telemetry.firstShutdownPing.enabled" = false;
+ "toolkit.telemetry.hybridContent.enabled" = false;
+ "toolkit.telemetry.newProfilePing.enabled" = false;
+ "toolkit.telemetry.reportingpolicy.firstRun" = false;
+ "toolkit.telemetry.shutdownPingSender.enabled" = false;
+ "toolkit.telemetry.unified" = false;
+ "toolkit.telemetry.updatePing.enabled" = false;
+
+ # Disable Firefox 'experiments'
+ "experiments.activeExperiment" = false;
+ "experiments.enabled" = false;
+ "experiments.supported" = false;
+ "network.allow-experiments" = false;
+
+ # Disable Pocket Integration
+ "browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
+ "extensions.pocket.enabled" = false;
+ "extensions.pocket.api" = "";
+ "extensions.pocket.oAuthConsumerKey" = "";
+ "extensions.pocket.showHome" = false;
+ "extensions.pocket.site" = "";
};
};
};
};
-}
-
+} \ No newline at end of file