summary refs log tree commit diff
path: root/mixins
diff options
context:
space:
mode:
Diffstat (limited to 'mixins')
-rw-r--r--mixins/firefox/absolute-minimum.nix94
-rw-r--r--mixins/firefox/addonStartup.nix1022
-rw-r--r--mixins/firefox/default.nix16
3 files changed, 1132 insertions, 0 deletions
diff --git a/mixins/firefox/absolute-minimum.nix b/mixins/firefox/absolute-minimum.nix
new file mode 100644
index 0000000..7d9fd79
--- /dev/null
+++ b/mixins/firefox/absolute-minimum.nix
@@ -0,0 +1,94 @@
+let
+  profile = "default";
+  prf = ".mozilla/firefox/${profile}";
+  extstorage = "${prf}/browser-extension-data";
+in
+  {
+    config,
+    inputs,
+    pkgs,
+    lib,
+    ...
+  }: {
+    home-manager.users.tzlil = let
+      firefox-addons = pkgs.callPackage (pkgs.applyPatches {
+        src = inputs.firefox-addons;
+        patches = [./addons-passthru.patch];
+        name = "firefox-addons-patched";
+      }) {};
+      mozlz4 = n: x:
+        pkgs.runCommand "${n}.lz4" {buildInputs = [pkgs.mozlz4a];} ''
+          mozlz4a ${pkgs.writeTextFile {name=n; text=builtins.toJSON x;}} $out
+        '';
+      cfg = config.home-manager.users.tzlil.programs;
+      addons = cfg.firefox.profiles.${profile}.extensions;
+      extensionPath = "extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}";
+
+      addonStartupData = builtins.fromJSON (builtins.readFile (pkgs.runCommand "addonStartup.json" {buildInputs = [ pkgs.xvfb-run pkgs.mozlz4a pkgs.jq (pkgs.firefox.override {
+          extraPolicies.Extensions.Install = map (x: x.src.outPath) addons;
+        })];} ''
+          HOME=$(mktemp -d)
+          export FONTCONFIG_FILE=${pkgs.makeFontsConf { fontDirectories = [ pkgs.roboto ]; }}
+          mkdir -p $HOME/.mozilla/firefox/default
+          cat >> $HOME/.mozilla/firefox/profiles.ini<< EOF
+          [Profile0]
+          Default=1
+          IsRelative=1
+          Name=default
+          Path=default
+          EOF
+
+          echo user_pref\(\"browser.region.network.url\", \"\"\) > $HOME/.mozilla/firefox/default/user.js
+
+          xvfb-run firefox --screenshot about:blank
+
+          mozlz4a -d $HOME/.mozilla/firefox/default/addonStartup.json.lz4 /dev/stdout | jq .\"app-profile\".addons > $out
+        ''));
+    in {
+      # these come from the HM module
+      home.file."${prf}/extension-preferences.json".source = pkgs.emptyFile;
+      home.file."${prf}/extension-preferences.json.tmp".source = pkgs.emptyFile;
+
+      home.file."${prf}/extension-settings.json".source = pkgs.emptyFile;
+      home.file."${prf}/extension-settings.json.tmp".source = pkgs.emptyFile;
+
+      home.file."${prf}/search.json.mozlz4".source = pkgs.emptyFile;
+      home.file."${prf}/search.json.mozlz4.tmp".source = pkgs.emptyFile;
+
+      home.file."${prf}/extensions".source = lib.mkForce ("${pkgs.symlinkJoin {
+        name = "extensions";
+        paths = addons;
+      }}/share/mozilla/${extensionPath}");
+
+      home.file."${prf}/storage".source = pkgs.emptyDirectory;
+      home.file."${prf}/crashes".source = pkgs.emptyDirectory;
+      home.file."${prf}/datareporting".source = pkgs.emptyDirectory;
+      home.file."${prf}/saved-telemetry-pings".source = pkgs.emptyDirectory;
+
+      home.file."${prf}/addonStartup.json.lz4".source = mozlz4 "addonStartup.json" {"app-profile".addons = addonStartupData;};
+      home.file."${prf}/addonStartup.json.lz4.tmp".source = pkgs.emptyFile;
+
+      home.file."${prf}/addons.json".source = pkgs.emptyFile;
+      home.file."${prf}/addons.json.tmp".source = pkgs.emptyFile;
+
+      home.file."${prf}/extensions.json".source = pkgs.emptyFile;
+      home.file."${prf}/extensions.json.tmp".source = pkgs.emptyFile;
+
+      # tries to access W_OK it forever 
+      # home.file."${prf}/prefs.js".source = pkgs.emptyFile;
+      # home.file."${prf}/prefs-1.js".source = pkgs.emptyFile;
+
+      programs.firefox = {
+        enable = true;
+        profiles.${profile} = {
+          extensions = with firefox-addons; [
+            kristofferhagen-nord-theme
+          ];
+          settings = {
+            "extensions.activeThemeID" = "{e410fec2-1cbd-4098-9944-e21e708418af}";
+            "browser.search.hiddenOneOffs" = "Google,Bing,Amazon.com,eBay,Twitter,Wikipedia (en)";
+          };
+        };
+      };
+    };
+  }
diff --git a/mixins/firefox/addonStartup.nix b/mixins/firefox/addonStartup.nix
new file mode 100644
index 0000000..f83bc69
--- /dev/null
+++ b/mixins/firefox/addonStartup.nix
@@ -0,0 +1,1022 @@
+{
+  app-builtin = {
+    addons = {
+      "addons-search-detection@mozilla.com" = {
+        dependencies = [];
+        enabled = true;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://builtin-addons/search-detection/";
+        runInSafeMode = true;
+        signedDate = null;
+        startupData = {persistentListeners = {};};
+        telemetryKey = "addons-search-detection%40mozilla.com:2.0.0";
+        version = "2.0.0";
+      };
+      "amazondotcom@search.mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://search-extensions/amazondotcom/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "amazondotcom%40search.mozilla.org:1.6";
+        version = "1.6";
+      };
+      "bing@search.mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://search-extensions/bing/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "bing%40search.mozilla.org:1.6";
+        version = "1.6";
+      };
+      "ddg@search.mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://search-extensions/ddg/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "ddg%40search.mozilla.org:1.4";
+        version = "1.4";
+      };
+      "default-theme@mozilla.org" = {
+        dependencies = [];
+        enabled = false;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://default-theme/";
+        runInSafeMode = true;
+        signedDate = null;
+        startupData = {
+          experiment = {
+            colors = {
+              appmenu_info_icon_color = "--panel-banner-item-info-icon-bgcolor";
+              appmenu_update_icon_color = "--panel-banner-item-update-supported-bgcolor";
+              autocomplete_popup_separator = "--autocomplete-popup-separator-color";
+              button = "--button-bgcolor";
+              button_active = "--button-active-bgcolor";
+              button_hover = "--button-hover-bgcolor";
+              button_primary = "--button-primary-bgcolor";
+              button_primary_active = "--button-primary-active-bgcolor";
+              button_primary_color = "--button-primary-color";
+              button_primary_hover = "--button-primary-hover-bgcolor";
+              input_background = "--input-bgcolor";
+              input_border = "--input-border-color";
+              input_color = "--input-color";
+              tab_icon_overlay_fill = "--tab-icon-overlay-fill";
+              tab_icon_overlay_stroke = "--tab-icon-overlay-stroke";
+            };
+            images = null;
+            properties = {
+              panel_active = "--arrowpanel-dimmed-further";
+              panel_active_darker = "--panel-item-active-bgcolor";
+              panel_hover = "--panel-item-hover-bgcolor";
+              toolbar_field_icon_opacity = "--urlbar-icon-fill-opacity";
+              zap_gradient = "--panel-separator-zap-gradient";
+            };
+            stylesheet = null;
+          };
+          lwtDarkStyles = {
+            accentcolor = "#1c1b22";
+            experimental = {
+              colors = {
+                appmenu_info_icon_color = "#80EBFF";
+                appmenu_update_icon_color = "#54FFBD";
+                autocomplete_popup_separator = "rgb(82,82,94)";
+                button = "rgb(43,42,51)";
+                button_active = "rgb(91,91,102)";
+                button_hover = "rgb(82,82,94)";
+                button_primary = "rgb(0, 221, 255)";
+                button_primary_active = "rgb(170, 242, 255)";
+                button_primary_color = "rgb(43, 42, 51)";
+                button_primary_hover = "rgb(128, 235, 255)";
+                input_background = "#42414D";
+                input_border = "#8f8f9d";
+                input_color = "rgb(251,251,254)";
+                tab_icon_overlay_fill = "rgb(251,251,254)";
+                tab_icon_overlay_stroke = "rgb(66,65,77)";
+              };
+              images = {};
+              properties = {
+                panel_active = "color-mix(in srgb, currentColor 14%, transparent)";
+                panel_active_darker = "color-mix(in srgb, currentColor 25%, transparent)";
+                panel_hover = "color-mix(in srgb, currentColor 9%, transparent)";
+                toolbar_field_icon_opacity = "1";
+                zap_gradient = "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)";
+              };
+            };
+            icon_color = "rgb(251,251,254)";
+            id = "default-theme@mozilla.org";
+            ntp_background = "rgb(43, 42, 51)";
+            ntp_text = "rgb(251, 251, 254)";
+            popup = "rgb(66,65,77)";
+            popup_border = "rgb(82,82,94)";
+            popup_highlight = "rgb(43,42,51)";
+            popup_text = "rgb(251,251,254)";
+            sidebar = "#38383D";
+            sidebar_border = "rgba(255, 255, 255, 0.1)";
+            sidebar_text = "rgb(249, 249, 250)";
+            tab_line = "transparent";
+            tab_selected = "rgb(66,65,77)";
+            tab_text = "rgb(251,251,254)";
+            textcolor = "#fbfbfe";
+            toolbarColor = "#2b2a33";
+            toolbar_bottom_separator = "hsl(240, 5%, 5%)";
+            toolbar_field = "rgb(28,27,34)";
+            toolbar_field_border = "transparent";
+            toolbar_field_focus = "rgb(66,65,77)";
+            toolbar_field_text = "rgb(251,251,254)";
+            toolbar_text = "rgb(251, 251, 254)";
+            toolbar_top_separator = "transparent";
+            version = "1.3";
+          };
+          lwtData = {
+            darkTheme = {
+              accentcolor = "#1c1b22";
+              experimental = {
+                colors = {
+                  appmenu_info_icon_color = "#80EBFF";
+                  appmenu_update_icon_color = "#54FFBD";
+                  autocomplete_popup_separator = "rgb(82,82,94)";
+                  button = "rgb(43,42,51)";
+                  button_active = "rgb(91,91,102)";
+                  button_hover = "rgb(82,82,94)";
+                  button_primary = "rgb(0, 221, 255)";
+                  button_primary_active = "rgb(170, 242, 255)";
+                  button_primary_color = "rgb(43, 42, 51)";
+                  button_primary_hover = "rgb(128, 235, 255)";
+                  input_background = "#42414D";
+                  input_border = "#8f8f9d";
+                  input_color = "rgb(251,251,254)";
+                  tab_icon_overlay_fill = "rgb(251,251,254)";
+                  tab_icon_overlay_stroke = "rgb(66,65,77)";
+                };
+                images = {};
+                properties = {
+                  panel_active = "color-mix(in srgb, currentColor 14%, transparent)";
+                  panel_active_darker = "color-mix(in srgb, currentColor 25%, transparent)";
+                  panel_hover = "color-mix(in srgb, currentColor 9%, transparent)";
+                  toolbar_field_icon_opacity = "1";
+                  zap_gradient = "linear-gradient(90deg, #9059FF 0%, #FF4AA2 52.08%, #FFBD4F 100%)";
+                };
+              };
+              icon_color = "rgb(251,251,254)";
+              id = "default-theme@mozilla.org";
+              ntp_background = "rgb(43, 42, 51)";
+              ntp_text = "rgb(251, 251, 254)";
+              popup = "rgb(66,65,77)";
+              popup_border = "rgb(82,82,94)";
+              popup_highlight = "rgb(43,42,51)";
+              popup_text = "rgb(251,251,254)";
+              sidebar = "#38383D";
+              sidebar_border = "rgba(255, 255, 255, 0.1)";
+              sidebar_text = "rgb(249, 249, 250)";
+              tab_line = "transparent";
+              tab_selected = "rgb(66,65,77)";
+              tab_text = "rgb(251,251,254)";
+              textcolor = "#fbfbfe";
+              toolbarColor = "#2b2a33";
+              toolbar_bottom_separator = "hsl(240, 5%, 5%)";
+              toolbar_field = "rgb(28,27,34)";
+              toolbar_field_border = "transparent";
+              toolbar_field_focus = "rgb(66,65,77)";
+              toolbar_field_text = "rgb(251,251,254)";
+              toolbar_text = "rgb(251, 251, 254)";
+              toolbar_top_separator = "transparent";
+              version = "1.3";
+            };
+            experiment = {
+              colors = {
+                appmenu_info_icon_color = "--panel-banner-item-info-icon-bgcolor";
+                appmenu_update_icon_color = "--panel-banner-item-update-supported-bgcolor";
+                autocomplete_popup_separator = "--autocomplete-popup-separator-color";
+                button = "--button-bgcolor";
+                button_active = "--button-active-bgcolor";
+                button_hover = "--button-hover-bgcolor";
+                button_primary = "--button-primary-bgcolor";
+                button_primary_active = "--button-primary-active-bgcolor";
+                button_primary_color = "--button-primary-color";
+                button_primary_hover = "--button-primary-hover-bgcolor";
+                input_background = "--input-bgcolor";
+                input_border = "--input-border-color";
+                input_color = "--input-color";
+                tab_icon_overlay_fill = "--tab-icon-overlay-fill";
+                tab_icon_overlay_stroke = "--tab-icon-overlay-stroke";
+              };
+              images = null;
+              properties = {
+                panel_active = "--arrowpanel-dimmed-further";
+                panel_active_darker = "--panel-item-active-bgcolor";
+                panel_hover = "--panel-item-hover-bgcolor";
+                toolbar_field_icon_opacity = "--urlbar-icon-fill-opacity";
+                zap_gradient = "--panel-separator-zap-gradient";
+              };
+              stylesheet = null;
+            };
+            theme = {
+              _processedColors = {
+                accentcolor = "white";
+                accentcolorInactive = null;
+                button_background_active = null;
+                button_background_hover = null;
+                experimental = {
+                  colors = {};
+                  images = {};
+                  properties = {};
+                };
+                icon_attention_color = null;
+                icon_color = null;
+                id = "default-theme@mozilla.org";
+                ntp_background = null;
+                popup = null;
+                popup_border = null;
+                popup_highlight = null;
+                popup_highlight_text = null;
+                popup_text = null;
+                sidebar = null;
+                sidebar_border = null;
+                sidebar_text = null;
+                tab_background_separator = null;
+                tab_line = null;
+                tab_loading = null;
+                tab_selected = null;
+                tab_text = null;
+                textcolor = "rgba(0, 0, 0)";
+                toolbarColor = null;
+                toolbar_bottom_separator = null;
+                toolbar_field = null;
+                toolbar_field_border = null;
+                toolbar_field_border_focus = null;
+                toolbar_field_focus = null;
+                toolbar_field_highlight = null;
+                toolbar_field_highlight_text = null;
+                toolbar_field_text = null;
+                toolbar_field_text_focus = null;
+                toolbar_text = null;
+                toolbar_top_separator = null;
+                toolbar_vertical_separator = null;
+                version = "1.3";
+              };
+              experimental = {
+                colors = {};
+                images = {};
+                properties = {};
+              };
+              id = "default-theme@mozilla.org";
+              version = "1.3";
+            };
+          };
+          lwtStyles = {
+            _processedColors = {
+              accentcolor = "white";
+              accentcolorInactive = null;
+              button_background_active = null;
+              button_background_hover = null;
+              experimental = {
+                colors = {};
+                images = {};
+                properties = {};
+              };
+              icon_attention_color = null;
+              icon_color = null;
+              id = "default-theme@mozilla.org";
+              ntp_background = null;
+              popup = null;
+              popup_border = null;
+              popup_highlight = null;
+              popup_highlight_text = null;
+              popup_text = null;
+              sidebar = null;
+              sidebar_border = null;
+              sidebar_text = null;
+              tab_background_separator = null;
+              tab_line = null;
+              tab_loading = null;
+              tab_selected = null;
+              tab_text = null;
+              textcolor = "rgba(0, 0, 0)";
+              toolbarColor = null;
+              toolbar_bottom_separator = null;
+              toolbar_field = null;
+              toolbar_field_border = null;
+              toolbar_field_border_focus = null;
+              toolbar_field_focus = null;
+              toolbar_field_highlight = null;
+              toolbar_field_highlight_text = null;
+              toolbar_field_text = null;
+              toolbar_field_text_focus = null;
+              toolbar_text = null;
+              toolbar_top_separator = null;
+              toolbar_vertical_separator = null;
+              version = "1.3";
+            };
+            experimental = {
+              colors = {};
+              images = {};
+              properties = {};
+            };
+            id = "default-theme@mozilla.org";
+            version = "1.3";
+          };
+        };
+        telemetryKey = "default-theme%40mozilla.org:1.3";
+        type = "theme";
+        version = "1.3";
+      };
+      "firefox-alpenglow@mozilla.org" = {
+        dependencies = [];
+        enabled = false;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://builtin-themes/alpenglow/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "firefox-alpenglow%40mozilla.org:1.4";
+        type = "theme";
+        version = "1.4";
+      };
+      "firefox-compact-dark@mozilla.org" = {
+        dependencies = [];
+        enabled = false;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://builtin-themes/dark/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "firefox-compact-dark%40mozilla.org:1.2";
+        type = "theme";
+        version = "1.2";
+      };
+      "firefox-compact-light@mozilla.org" = {
+        dependencies = [];
+        enabled = false;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://builtin-themes/light/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "firefox-compact-light%40mozilla.org:1.2";
+        type = "theme";
+        version = "1.2";
+      };
+      "google@search.mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://search-extensions/google/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "google%40search.mozilla.org:1.4";
+        version = "1.4";
+      };
+      "wikipedia@search.mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        loader = null;
+        path = null;
+        recommendationState = null;
+        rootURI = "resource://search-extensions/wikipedia/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "wikipedia%40search.mozilla.org:1.3";
+        version = "1.3";
+      };
+    };
+    staged = {};
+  };
+  app-profile = {
+    addons = {
+      "CanvasBlocker@kkapsner.de" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "CanvasBlocker@kkapsner.de.xpi";
+        recommendationState = {
+          states = ["recommended"];
+          validNotAfter = 1839812000000;
+          validNotBefore = 1682024000000;
+        };
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/CanvasBlocker@kkapsner.de.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1682024000000;
+        signedState = 2;
+        startupData = {
+          persistentListeners = {
+            webRequest = {
+              onHeadersReceived = [
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["main_frame" "sub_frame" "object"];
+                    urls = ["<all_urls>"];
+                    windowId = null;
+                  }
+                  ["blocking" "responseHeaders"]
+                ]
+              ];
+            };
+          };
+        };
+        telemetryKey = "CanvasBlocker%40kkapsner.de:1.9";
+        version = "1.9";
+      };
+      "addon@darkreader.org" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "addon@darkreader.org.xpi";
+        recommendationState = {
+          states = ["recommended-android" "recommended"];
+          validNotAfter = 1845570684000;
+          validNotBefore = 1687782684000;
+        };
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/addon@darkreader.org.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1687782684000;
+        signedState = 2;
+        telemetryKey = "addon%40darkreader.org:4.9.64";
+        version = "4.9.64";
+      };
+      "newtaboverride@agenedia.com" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "newtaboverride@agenedia.com.xpi";
+        recommendationState = {
+          states = ["recommended"];
+          validNotAfter = 1779829027000;
+          validNotBefore = 1622041027000;
+        };
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/newtaboverride@agenedia.com.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1622041027000;
+        signedState = 2;
+        telemetryKey = "newtaboverride%40agenedia.com:15.1.1";
+        version = "15.1.1";
+      };
+      "redirector@einaregilsson.com" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "redirector@einaregilsson.com.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/redirector@einaregilsson.com.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1585220412000;
+        signedState = 2;
+        telemetryKey = "redirector%40einaregilsson.com:3.5.3";
+        version = "3.5.3";
+      };
+      "skipredirect@sblask" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "skipredirect@sblask.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/skipredirect@sblask.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1646977891000;
+        signedState = 2;
+        telemetryKey = "skipredirect%40sblask:2.3.6";
+        version = "2.3.6";
+      };
+      "uBlock0@raymondhill.net" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "uBlock0@raymondhill.net.xpi";
+        recommendationState = {
+          states = ["recommended-android" "recommended"];
+          validNotAfter = 1848067098000;
+          validNotBefore = 1690279098000;
+        };
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/uBlock0@raymondhill.net.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1690279099000;
+        signedState = 2;
+        startupData = {
+          persistentListeners = {
+            webRequest = {
+              onBeforeRequest = [
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = null;
+                    urls = ["moz-extension://d67a02c9-746e-4663-a058-1c354368a6dd/web_accessible_resources/*"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = null;
+                    urls = ["http://*/*" "https://*/*" "ws://*/*" "wss://*/*"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+              ];
+            };
+          };
+        };
+        telemetryKey = "uBlock0%40raymondhill.net:1.51.0";
+        version = "1.51.0";
+      };
+      "woop-NoopscooPsnSXQ@jetpack" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "woop-NoopscooPsnSXQ@jetpack.xpi";
+        recommendationState = {
+          states = ["recommended"];
+          validNotAfter = 1721589057000;
+          validNotBefore = 1563801057000;
+        };
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/woop-NoopscooPsnSXQ@jetpack.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1556300000000;
+        signedState = 2;
+        telemetryKey = "woop-NoopscooPsnSXQ%40jetpack:2019.7.18";
+        version = "2019.7.18";
+      };
+      "{3c078156-979c-498b-8990-85f7987dd929}" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "{3c078156-979c-498b-8990-85f7987dd929}.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/%7B3c078156-979c-498b-8990-85f7987dd929%7D.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1689706532000;
+        signedState = 2;
+        telemetryKey = "%7B3c078156-979c-498b-8990-85f7987dd929%7D:5.0.0rc4";
+        version = "5.0.0rc4";
+      };
+      "{74145f27-f039-47ce-a470-a662b129930a}" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "{74145f27-f039-47ce-a470-a662b129930a}.xpi";
+        recommendationState = {
+          states = ["recommended" "recommended-android"];
+          validNotAfter = 1833223536000;
+          validNotBefore = 1675435536000;
+        };
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/%7B74145f27-f039-47ce-a470-a662b129930a%7D.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1675435537000;
+        signedState = 2;
+        startupData = {
+          persistentListeners = {
+            webRequest = {
+              onHeadersReceived = [
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = null;
+                    urls = ["<all_urls>"];
+                    windowId = null;
+                  }
+                  ["blocking" "responseHeaders"]
+                ]
+              ];
+            };
+          };
+        };
+        telemetryKey = "%7B74145f27-f039-47ce-a470-a662b129930a%7D:1.26.1";
+        version = "1.26.1";
+      };
+      "{a8445bf1-5494-49bf-9af5-a830e5bf3309}" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "{a8445bf1-5494-49bf-9af5-a830e5bf3309}.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/%7Ba8445bf1-5494-49bf-9af5-a830e5bf3309%7D.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1659565510000;
+        signedState = 2;
+        telemetryKey = "%7Ba8445bf1-5494-49bf-9af5-a830e5bf3309%7D:1.0.4";
+        version = "1.0.4";
+      };
+      "{b11bea1f-a888-4332-8d8a-cec2be7d24b9}" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "{b11bea1f-a888-4332-8d8a-cec2be7d24b9}.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/%7Bb11bea1f-a888-4332-8d8a-cec2be7d24b9%7D.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1681244455000;
+        signedState = 2;
+        telemetryKey = "%7Bb11bea1f-a888-4332-8d8a-cec2be7d24b9%7D:0.7.2";
+        version = "0.7.2";
+      };
+      "{d7742d87-e61d-4b78-b8a1-b469842139fa}" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "{d7742d87-e61d-4b78-b8a1-b469842139fa}.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/%7Bd7742d87-e61d-4b78-b8a1-b469842139fa%7D.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1689593495000;
+        signedState = 2;
+        telemetryKey = "%7Bd7742d87-e61d-4b78-b8a1-b469842139fa%7D:1.67.7";
+        version = "1.67.7";
+      };
+      "{e410fec2-1cbd-4098-9944-e21e708418af}" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "{e410fec2-1cbd-4098-9944-e21e708418af}.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///home/tzlil/.mozilla/firefox/default/extensions/%7Be410fec2-1cbd-4098-9944-e21e708418af%7D.xpi!/";
+        runInSafeMode = false;
+        signedDate = 1556300000000;
+        signedState = 2;
+        startupData = {
+          lwtDarkStyles = null;
+          lwtData = {
+            darkTheme = null;
+            theme = {
+              _processedColors = {
+                accentcolor = "rgb(46, 52, 64)";
+                accentcolorInactive = null;
+                button_background_active = "rgb(94, 129, 172)";
+                button_background_hover = "rgb(76, 86, 106)";
+                icon_attention_color = "rgb(235, 203, 139)";
+                icon_color = "rgb(236, 239, 244)";
+                id = "{e410fec2-1cbd-4098-9944-e21e708418af}";
+                ntp_background = null;
+                ntp_text = "#eceff4";
+                popup = "rgb(59, 66, 82)";
+                popup_border = "rgb(67, 76, 94)";
+                popup_highlight = "rgb(94, 129, 172)";
+                popup_highlight_text = "rgb(236, 239, 244)";
+                popup_text = "rgb(236, 239, 244)";
+                sidebar = "rgb(59, 66, 82)";
+                sidebar_border = "rgb(67, 76, 94)";
+                sidebar_highlight = "#5e81ac";
+                sidebar_highlight_text = "#eceff4";
+                sidebar_text = "rgb(236, 239, 244)";
+                tab_background_separator = "rgb(216, 222, 233)";
+                tab_line = "rgb(94, 129, 172)";
+                tab_loading = "rgb(94, 129, 172)";
+                tab_selected = "rgb(59, 66, 82)";
+                tab_text = "rgb(236, 239, 244)";
+                textcolor = "rgba(236, 239, 244)";
+                toolbarColor = "rgb(59, 66, 82)";
+                toolbar_bottom_separator = "rgb(67, 76, 94)";
+                toolbar_field = "rgb(76, 86, 106)";
+                toolbar_field_border = "rgb(46, 52, 64)";
+                toolbar_field_border_focus = "rgb(94, 129, 172)";
+                toolbar_field_focus = "rgba(76, 86, 106, 1)";
+                toolbar_field_highlight = "rgba(94, 129, 172, 1)";
+                toolbar_field_highlight_text = "rgb(236, 239, 244)";
+                toolbar_field_text = "rgb(236, 239, 244)";
+                toolbar_field_text_focus = "rgb(236, 239, 244)";
+                toolbar_text = "rgb(216, 222, 233)";
+                toolbar_top_separator = "rgb(67, 76, 94)";
+                toolbar_vertical_separator = "rgb(46, 52, 64)";
+                version = "2.0";
+              };
+              accentcolor = "#2e3440";
+              button_background_active = "#5e81ac";
+              button_background_hover = "#4c566a";
+              icon_attention_color = "#ebcb8b";
+              icon_color = "#eceff4";
+              id = "{e410fec2-1cbd-4098-9944-e21e708418af}";
+              ntp_background = "#2e3440";
+              ntp_text = "#eceff4";
+              popup = "#3b4252";
+              popup_border = "#434c5e";
+              popup_highlight = "#5e81ac";
+              popup_highlight_text = "#eceff4";
+              popup_text = "#eceff4";
+              sidebar = "#3b4252";
+              sidebar_border = "#434c5e";
+              sidebar_highlight = "#5e81ac";
+              sidebar_highlight_text = "#eceff4";
+              sidebar_text = "#eceff4";
+              tab_background_separator = "#d8dee9";
+              tab_line = "#5e81ac";
+              tab_loading = "#5e81ac";
+              tab_selected = "#3b4252";
+              tab_text = "#eceff4";
+              textcolor = "#eceff4";
+              toolbarColor = "#3b4252";
+              toolbar_bottom_separator = "#434c5e";
+              toolbar_field = "#4c566a";
+              toolbar_field_border = "#2e3440";
+              toolbar_field_border_focus = "#5e81ac";
+              toolbar_field_focus = "#4c566a";
+              toolbar_field_highlight = "#5e81ac";
+              toolbar_field_highlight_text = "#eceff4";
+              toolbar_field_text = "#eceff4";
+              toolbar_field_text_focus = "#eceff4";
+              toolbar_text = "#d8dee9";
+              toolbar_top_separator = "#434c5e";
+              toolbar_vertical_separator = "#2e3440";
+              version = "2.0";
+            };
+          };
+          lwtStyles = {
+            _processedColors = {
+              accentcolor = "rgb(46, 52, 64)";
+              accentcolorInactive = null;
+              button_background_active = "rgb(94, 129, 172)";
+              button_background_hover = "rgb(76, 86, 106)";
+              icon_attention_color = "rgb(235, 203, 139)";
+              icon_color = "rgb(236, 239, 244)";
+              id = "{e410fec2-1cbd-4098-9944-e21e708418af}";
+              ntp_background = null;
+              ntp_text = "#eceff4";
+              popup = "rgb(59, 66, 82)";
+              popup_border = "rgb(67, 76, 94)";
+              popup_highlight = "rgb(94, 129, 172)";
+              popup_highlight_text = "rgb(236, 239, 244)";
+              popup_text = "rgb(236, 239, 244)";
+              sidebar = "rgb(59, 66, 82)";
+              sidebar_border = "rgb(67, 76, 94)";
+              sidebar_highlight = "#5e81ac";
+              sidebar_highlight_text = "#eceff4";
+              sidebar_text = "rgb(236, 239, 244)";
+              tab_background_separator = "rgb(216, 222, 233)";
+              tab_line = "rgb(94, 129, 172)";
+              tab_loading = "rgb(94, 129, 172)";
+              tab_selected = "rgb(59, 66, 82)";
+              tab_text = "rgb(236, 239, 244)";
+              textcolor = "rgba(236, 239, 244)";
+              toolbarColor = "rgb(59, 66, 82)";
+              toolbar_bottom_separator = "rgb(67, 76, 94)";
+              toolbar_field = "rgb(76, 86, 106)";
+              toolbar_field_border = "rgb(46, 52, 64)";
+              toolbar_field_border_focus = "rgb(94, 129, 172)";
+              toolbar_field_focus = "rgba(76, 86, 106, 1)";
+              toolbar_field_highlight = "rgba(94, 129, 172, 1)";
+              toolbar_field_highlight_text = "rgb(236, 239, 244)";
+              toolbar_field_text = "rgb(236, 239, 244)";
+              toolbar_field_text_focus = "rgb(236, 239, 244)";
+              toolbar_text = "rgb(216, 222, 233)";
+              toolbar_top_separator = "rgb(67, 76, 94)";
+              toolbar_vertical_separator = "rgb(46, 52, 64)";
+              version = "2.0";
+            };
+            accentcolor = "#2e3440";
+            button_background_active = "#5e81ac";
+            button_background_hover = "#4c566a";
+            icon_attention_color = "#ebcb8b";
+            icon_color = "#eceff4";
+            id = "{e410fec2-1cbd-4098-9944-e21e708418af}";
+            ntp_background = "#2e3440";
+            ntp_text = "#eceff4";
+            popup = "#3b4252";
+            popup_border = "#434c5e";
+            popup_highlight = "#5e81ac";
+            popup_highlight_text = "#eceff4";
+            popup_text = "#eceff4";
+            sidebar = "#3b4252";
+            sidebar_border = "#434c5e";
+            sidebar_highlight = "#5e81ac";
+            sidebar_highlight_text = "#eceff4";
+            sidebar_text = "#eceff4";
+            tab_background_separator = "#d8dee9";
+            tab_line = "#5e81ac";
+            tab_loading = "#5e81ac";
+            tab_selected = "#3b4252";
+            tab_text = "#eceff4";
+            textcolor = "#eceff4";
+            toolbarColor = "#3b4252";
+            toolbar_bottom_separator = "#434c5e";
+            toolbar_field = "#4c566a";
+            toolbar_field_border = "#2e3440";
+            toolbar_field_border_focus = "#5e81ac";
+            toolbar_field_focus = "#4c566a";
+            toolbar_field_highlight = "#5e81ac";
+            toolbar_field_highlight_text = "#eceff4";
+            toolbar_field_text = "#eceff4";
+            toolbar_field_text_focus = "#eceff4";
+            toolbar_text = "#d8dee9";
+            toolbar_top_separator = "#434c5e";
+            toolbar_vertical_separator = "#2e3440";
+            version = "2.0";
+          };
+        };
+        telemetryKey = "%7Be410fec2-1cbd-4098-9944-e21e708418af%7D:2.0";
+        type = "theme";
+        version = "2.0";
+      };
+    };
+    path = "/home/tzlil/.mozilla/firefox/default/extensions";
+    staged = {};
+  };
+  app-system-defaults = {
+    addons = {
+      "formautofill@mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "formautofill@mozilla.org.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///nix/store/0bfvbz3dkdc4d5k3ww53k7rn2pmagj8j-firefox-116.0/lib/firefox/browser/features/formautofill@mozilla.org.xpi!/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "formautofill%40mozilla.org:1.0.1";
+        version = "1.0.1";
+      };
+      "pictureinpicture@mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "pictureinpicture@mozilla.org.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///nix/store/0bfvbz3dkdc4d5k3ww53k7rn2pmagj8j-firefox-116.0/lib/firefox/browser/features/pictureinpicture@mozilla.org.xpi!/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "pictureinpicture%40mozilla.org:1.0.0";
+        version = "1.0.0";
+      };
+      "screenshots@mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "screenshots@mozilla.org.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///nix/store/0bfvbz3dkdc4d5k3ww53k7rn2pmagj8j-firefox-116.0/lib/firefox/browser/features/screenshots@mozilla.org.xpi!/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "screenshots%40mozilla.org:39.0.1";
+        version = "39.0.1";
+      };
+      "webcompat-reporter@mozilla.org" = {
+        dependencies = [];
+        enabled = false;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "webcompat-reporter@mozilla.org.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///nix/store/0bfvbz3dkdc4d5k3ww53k7rn2pmagj8j-firefox-116.0/lib/firefox/browser/features/webcompat-reporter@mozilla.org.xpi!/";
+        runInSafeMode = true;
+        signedDate = null;
+        telemetryKey = "webcompat-reporter%40mozilla.org:1.5.1";
+        version = "1.5.1";
+      };
+      "webcompat@mozilla.org" = {
+        dependencies = [];
+        enabled = true;
+        lastModifiedTime = 1000;
+        loader = null;
+        path = "webcompat@mozilla.org.xpi";
+        recommendationState = null;
+        rootURI = "jar:file:///nix/store/0bfvbz3dkdc4d5k3ww53k7rn2pmagj8j-firefox-116.0/lib/firefox/browser/features/webcompat@mozilla.org.xpi!/";
+        runInSafeMode = true;
+        signedDate = null;
+        startupData = {
+          persistentListeners = {
+            webRequest = {
+              onBeforeRequest = [
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["main_frame"];
+                    urls = ["*://login.microsoftonline.com/*" "*://login.microsoftonline.us/*"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["image"];
+                    urls = ["https://smartblock.firefox.etp/facebook.svg" "https://smartblock.firefox.etp/play.svg"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["script"];
+                    urls = ["*://webcompat-addon-testbed.herokuapp.com/shims_test.js" "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test.js" "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_2.js" "*://example.com/browser/browser/extensions/webcompat/tests/browser/shims_test_3.js" "*://s7.addthis.com/icons/official-addthis-angularjs/current/dist/official-addthis-angularjs.min.js*" "*://track.adform.net/serving/scripts/trackpoint/" "*://track.adform.net/serving/scripts/trackpoint/async/" "*://*.adnxs.com/*/ast.js*" "*://*.adnxs.com/*/pb.js*" "*://*.adnxs.com/*/prebid*" "*://www.everestjs.net/static/st.v3.js*" "*://static.adsafeprotected.com/vans-adapter-google-ima.js" "*://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js" "*://cdn.branch.io/branch-latest.min.js*" "*://pub.doubleverify.com/signals/pub.js*" "*://c.amazon-adsystem.com/aax2/apstag.js" "*://auth.9c9media.ca/auth/main.js" "*://static.chartbeat.com/js/chartbeat.js" "*://static.chartbeat.com/js/chartbeat_video.js" "*://static.criteo.net/js/ld/publishertag.js" "*://*.imgur.com/js/vendor.*.bundle.js" "*://*.imgur.io/js/vendor.*.bundle.js" "*://www.rva311.com/static/js/main.*.chunk.js" "*://web-assets.toggl.com/app/assets/scripts/*.js" "*://libs.coremetrics.com/eluminate.js" "*://connect.facebook.net/*/sdk.js*" "*://connect.facebook.net/*/all.js*" "*://secure.cdn.fastclick.net/js/cnvr-launcher/*/launcher-stub.min.js*" "*://www.google-analytics.com/analytics.js*" "*://www.google-analytics.com/gtm/js*" "*://www.googletagmanager.com/gtm.js*" "*://www.google-analytics.com/plugins/ua/ec.js" "*://ssl.google-analytics.com/ga.js" "*://s0.2mdn.net/instream/html5/ima3.js" "*://imasdk.googleapis.com/js/sdkloader/ima3.js" "*://www.googleadservices.com/pagead/conversion_async.js" "*://www.googletagservices.com/tag/js/gpt.js*" "*://pagead2.googlesyndication.com/tag/js/gpt.js*" "*://pagead2.googlesyndication.com/gpt/pubads_impl_*.js*" "*://securepubads.g.doubleclick.net/tag/js/gpt.js*" "*://securepubads.g.doubleclick.net/gpt/pubads_impl_*.js*" "*://script.ioam.de/iam.js" "*://cdn.adsafeprotected.com/iasPET.1.js" "*://static.adsafeprotected.com/iasPET.1.js" "*://adservex.media.net/videoAds.js*" "*://*.moatads.com/*/moatad.js*" "*://*.moatads.com/*/moatapi.js*" "*://*.moatads.com/*/moatheader.js*" "*://*.moatads.com/*/yi.js*" "*://*.imrworldwide.com/v60.js" "*://cdn.optimizely.com/js/*.js" "*://cdn.optimizely.com/public/*.js" "*://id.rambler.ru/rambler-id-helper/auth_events.js" "*://media.richrelevance.com/rrserver/js/1.2/p13n.js" "*://www.gstatic.com/firebasejs/*/firebase-messaging.js*" "*://*.vidible.tv/*/vidible-min.js*" "*://vdb-cdn-files.s3.amazonaws.com/*/vidible-min.js*" "*://js.maxmind.com/js/apis/geoip2/*/geoip2.js" "*://s.webtrends.com/js/advancedLinkTracking.js" "*://s.webtrends.com/js/webtrends.js" "*://s.webtrends.com/js/webtrends.min.js"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["image"];
+                    urls = ["*://track.adform.net/Serving/TrackPoint/*" "*://pixel.advertising.com/firefox-etp" "*://*.advertising.com/*.js*" "*://*.advertising.com/*" "*://securepubads.g.doubleclick.net/gampad/*ad-blk*" "*://pubads.g.doubleclick.net/gampad/*ad-blk*" "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*" "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*" "*://vast.adsafeprotected.com/vast*" "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*" "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*" "*://securepubads.g.doubleclick.net/gampad/*ad*" "*://pubads.g.doubleclick.net/gampad/*ad*" "*://www.facebook.com/platform/impression.php*" "https://ads.stickyadstv.com/firefox-etp" "*://ads.stickyadstv.com/auto-user-sync*" "*://ads.stickyadstv.com/user-matching*" "https://static.adsafeprotected.com/firefox-etp-pixel" "*://*.adsafeprotected.com/*.gif*" "*://*.adsafeprotected.com/*.png*" "*://*.adsafeprotected.com/*.js*" "*://*.adsafeprotected.com/*/adj*" "*://*.adsafeprotected.com/*/imp/*" "*://*.adsafeprotected.com/*/Serving/*" "*://*.adsafeprotected.com/*/unit/*" "*://*.adsafeprotected.com/jload" "*://*.adsafeprotected.com/jload?*" "*://*.adsafeprotected.com/jsvid" "*://*.adsafeprotected.com/jsvid?*" "*://*.adsafeprotected.com/mon*" "*://*.adsafeprotected.com/tpl" "*://*.adsafeprotected.com/tpl?*" "*://*.adsafeprotected.com/services/pub*" "*://*.adsafeprotected.com/*"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["imageset"];
+                    urls = ["*://track.adform.net/Serving/TrackPoint/*" "*://pixel.advertising.com/firefox-etp" "*://*.advertising.com/*.js*" "*://*.advertising.com/*" "*://securepubads.g.doubleclick.net/gampad/*ad-blk*" "*://pubads.g.doubleclick.net/gampad/*ad-blk*" "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*" "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*" "*://vast.adsafeprotected.com/vast*" "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*" "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*" "*://securepubads.g.doubleclick.net/gampad/*ad*" "*://pubads.g.doubleclick.net/gampad/*ad*" "*://www.facebook.com/platform/impression.php*" "https://ads.stickyadstv.com/firefox-etp" "*://ads.stickyadstv.com/auto-user-sync*" "*://ads.stickyadstv.com/user-matching*" "https://static.adsafeprotected.com/firefox-etp-pixel" "*://*.adsafeprotected.com/*.gif*" "*://*.adsafeprotected.com/*.png*" "*://*.adsafeprotected.com/*.js*" "*://*.adsafeprotected.com/*/adj*" "*://*.adsafeprotected.com/*/imp/*" "*://*.adsafeprotected.com/*/Serving/*" "*://*.adsafeprotected.com/*/unit/*" "*://*.adsafeprotected.com/jload" "*://*.adsafeprotected.com/jload?*" "*://*.adsafeprotected.com/jsvid" "*://*.adsafeprotected.com/jsvid?*" "*://*.adsafeprotected.com/mon*" "*://*.adsafeprotected.com/tpl" "*://*.adsafeprotected.com/tpl?*" "*://*.adsafeprotected.com/services/pub*" "*://*.adsafeprotected.com/*"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["xmlhttprequest"];
+                    urls = ["*://track.adform.net/Serving/TrackPoint/*" "*://pagead2.googlesyndication.com/pagead/*.js*fcd=true" "*://pagead2.googlesyndication.com/pagead/js/*.js*fcd=true" "*://pixel.advertising.com/firefox-etp" "*://cdn.cmp.advertising.com/firefox-etp" "*://*.advertising.com/*.js*" "*://*.advertising.com/*" "*://securepubads.g.doubleclick.net/gampad/*ad-blk*" "*://pubads.g.doubleclick.net/gampad/*ad-blk*" "*://securepubads.g.doubleclick.net/gampad/*xml_vmap1*" "*://pubads.g.doubleclick.net/gampad/*xml_vmap1*" "*://vast.adsafeprotected.com/vast*" "*://securepubads.g.doubleclick.net/gampad/*xml_vmap2*" "*://pubads.g.doubleclick.net/gampad/*xml_vmap2*" "*://securepubads.g.doubleclick.net/gampad/*ad*" "*://pubads.g.doubleclick.net/gampad/*ad*" "*://www.facebook.com/platform/impression.php*" "https://ads.stickyadstv.com/firefox-etp" "*://ads.stickyadstv.com/auto-user-sync*" "*://ads.stickyadstv.com/user-matching*" "https://static.adsafeprotected.com/firefox-etp-pixel" "https://static.adsafeprotected.com/firefox-etp-js" "*://*.adsafeprotected.com/*.gif*" "*://*.adsafeprotected.com/*.png*" "*://*.adsafeprotected.com/*.js*" "*://*.adsafeprotected.com/*/adj*" "*://*.adsafeprotected.com/*/imp/*" "*://*.adsafeprotected.com/*/Serving/*" "*://*.adsafeprotected.com/*/unit/*" "*://*.adsafeprotected.com/jload" "*://*.adsafeprotected.com/jload?*" "*://*.adsafeprotected.com/jsvid" "*://*.adsafeprotected.com/jsvid?*" "*://*.adsafeprotected.com/mon*" "*://*.adsafeprotected.com/tpl" "*://*.adsafeprotected.com/tpl?*" "*://*.adsafeprotected.com/services/pub*" "*://*.adsafeprotected.com/*"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["sub_frame"];
+                    urls = ["*://tpc.googlesyndication.com/safeframe/*/html/container.html" "*://*.safeframe.googlesyndication.com/safeframe/*/html/container.html"];
+                    windowId = null;
+                  }
+                  ["blocking"]
+                ]
+              ];
+              onBeforeSendHeaders = [
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["sub_frame"];
+                    urls = ["*://trends.google.com/trends/embed*"];
+                    windowId = null;
+                  }
+                  ["blocking" "requestHeaders"]
+                ]
+              ];
+              onHeadersReceived = [
+                [
+                  {
+                    incognito = null;
+                    tabId = null;
+                    types = ["sub_frame"];
+                    urls = ["*://trends.google.com/trends/embed*"];
+                    windowId = null;
+                  }
+                  ["blocking" "responseHeaders"]
+                ]
+              ];
+            };
+          };
+        };
+        telemetryKey = "webcompat%40mozilla.org:116.1.0";
+        version = "116.1.0";
+      };
+    };
+    path = "/nix/store/0bfvbz3dkdc4d5k3ww53k7rn2pmagj8j-firefox-116.0/lib/firefox/browser/features";
+    staged = {};
+  };
+}
diff --git a/mixins/firefox/default.nix b/mixins/firefox/default.nix
index 3dcea4d..08233eb 100644
--- a/mixins/firefox/default.nix
+++ b/mixins/firefox/default.nix
@@ -18,6 +18,10 @@ in
         name = "firefox-addons-patched";
       }) {};
       addons = config.home-manager.users.tzlil.programs.firefox.profiles.${profile}.extensions;
+      mozlz4 = n: x:
+        pkgs.runCommand "${n}.mozlz4" {buildInputs = [pkgs.mozlz4a];} ''
+          mozlz4a ${builtins.toFile "${n}" (builtins.toJSON x)} $out
+        '';
     in {
       /*
       TODO
@@ -33,8 +37,17 @@ in
       # if i dont do this firefox overwrites my shit
       home.file."${prf}/extension-preferences.json.tmp".source = pkgs.emptyFile;
       home.file."${prf}/extension-settings.json.tmp".source = pkgs.emptyFile;
+
+      # i think this is fucking with hideOneOffs
       home.file."${prf}/search.json.mozlz4.tmp".source = pkgs.emptyFile;
 
+      home.file."${prf}/storage/default".source = pkgs.emptyDirectory;
+
+      # home.file.".cache/mozilla".source = pkgs.emptyDirectory;
+
+      home.file."${prf}/addonStartup.json.lz4".source = mozlz4 "addonStartup.json" (import ./addonStartup.nix);
+      home.file."${prf}/addonStartup.json.lz4.tmp".source = pkgs.emptyFile;
+
       home.file."${prf}/extension-preferences.json".text = builtins.toJSON (
         # i hate myself
         let
@@ -290,6 +303,9 @@ in
               // if your websites make you use RFP use different websites
               user_pref("privacy.resistFingerprinting", false);
               user_pref("privacy.resistFingerprinting.letterboxing", false);
+
+
+              user_pref("browser.search.hiddenOneOffs","Google,Bing,Amazon.com,eBay,Twitter,Wikipedia (en)");
             '';
           settings = {
             # for custom browser style