From b4bc62ec60acca1bb027a27bfa7e5c6335d7983e Mon Sep 17 00:00:00 2001 From: tzlil Date: Sat, 5 Aug 2023 07:26:19 +0300 Subject: really silly firefox thing --- hosts/navi/default.nix | 4 +- mixins/firefox/absolute-minimum.nix | 94 ++++ mixins/firefox/addonStartup.nix | 1022 +++++++++++++++++++++++++++++++++++ mixins/firefox/default.nix | 16 + 4 files changed, 1134 insertions(+), 2 deletions(-) create mode 100644 mixins/firefox/absolute-minimum.nix create mode 100644 mixins/firefox/addonStartup.nix diff --git a/hosts/navi/default.nix b/hosts/navi/default.nix index 12bf69f..bed73ba 100644 --- a/hosts/navi/default.nix +++ b/hosts/navi/default.nix @@ -15,7 +15,7 @@ ../../mixins/pipewire.nix ../../mixins/multimedia.nix ../../mixins/syncthing.nix - ../../mixins/firefox + ../../mixins/firefox/absolute-minimum.nix ]; config = { @@ -50,7 +50,7 @@ systemd.network.networks."10-wlp1s0" = { matchConfig.Name = "wlp1s0"; networkConfig.DHCP = "yes"; - dns = [ "127.0.0.1" "::1" ]; + dns = ["127.0.0.1" "::1"]; dhcpV4Config = { UseDNS = false; }; 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 = [""]; + 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 = [""]; + 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 -- cgit 1.4.1