From 21034a5a36d62fbad795c4139c98c32e0516ec93 Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Wed, 1 Mar 2023 13:50:55 +0100 Subject: restructure pkgs --- .../personal/programs/firefox/default.nix | 4 +- .../personal/programs/firefox/userjs.nix | 124 +++++++++++---------- 2 files changed, 65 insertions(+), 63 deletions(-) (limited to 'modules/home-manager/personal/programs/firefox') diff --git a/modules/home-manager/personal/programs/firefox/default.nix b/modules/home-manager/personal/programs/firefox/default.nix index 1e97c40..f4696b1 100644 --- a/modules/home-manager/personal/programs/firefox/default.nix +++ b/modules/home-manager/personal/programs/firefox/default.nix @@ -4,7 +4,7 @@ with lib; let cfg = config.personal.firefox; userjs = pkgs.callPackage ./userjs.nix { - inherit (pkgs.personal) arkenfoxUserJS; + inherit (pkgs.personal.static.userjs) arkenfox; inherit (pkgs.lib.personal) toUserJS; }; engines = import ./engines.nix; @@ -23,7 +23,7 @@ let visibility: collapse; } ''; - extensions = with pkgs.personal; [ + extensions = with pkgs.personal.firefoxAddons; [ canvasblocker clearurls darkreader diff --git a/modules/home-manager/personal/programs/firefox/userjs.nix b/modules/home-manager/personal/programs/firefox/userjs.nix index ee105b3..75780ee 100644 --- a/modules/home-manager/personal/programs/firefox/userjs.nix +++ b/modules/home-manager/personal/programs/firefox/userjs.nix @@ -1,66 +1,68 @@ -{ arkenfoxUserJS, toUserJS }: +{ arkenfox, toUserJS }: -rec { - arkenfox = builtins.readFile "${arkenfoxUserJS}"; - default = arkenfox + toUserJS { - "keyword.enabled" = true; # 0801 - "signon.rememberSignons" = false; # 0901 - "security.nocertdb" = true; # 1222 - "media.peerconnection.enabled" = false; # 2001 - "media.peerconnection.ice.no_host" = true; # 2004 - "dom.allow_cut_copy" = true; # 2404 - "dom.battery.enabled" = false; # 2502 - "permissions.default.xr" = 2; # 2521 - "privacy.clearOnShutdown.siteSettings" = true; # 2811 +let + self = { + arkenfox = builtins.readFile "${arkenfox}"; + default = self.arkenfox + toUserJS { + "keyword.enabled" = true; # 0801 + "signon.rememberSignons" = false; # 0901 + "security.nocertdb" = true; # 1222 + "media.peerconnection.enabled" = false; # 2001 + "media.peerconnection.ice.no_host" = true; # 2004 + "dom.allow_cut_copy" = true; # 2404 + "dom.battery.enabled" = false; # 2502 + "permissions.default.xr" = 2; # 2521 + "privacy.clearOnShutdown.siteSettings" = true; # 2811 - # Personal - ## Warnings - "browser.tabs.warnOnClose" = false; - "browser.tabs.warnOnCloseOtherTabs" = false; - ## Updates - "app.update.auto" = false; - "browser.search.update" = false; - ## Appearance - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - ## Content behavior - "clipboard.autocopy" = false; - ## UX behavior - "browser.quitShortcut.disabled" = true; - "browser.tabs.closeWindowWithLastTab" = false; - ## UX features - "extensions.pocket.enabled" = false; - "identity.fxaccounts.enabled" = false; - }; + # Personal + ## Warnings + "browser.tabs.warnOnClose" = false; + "browser.tabs.warnOnCloseOtherTabs" = false; + ## Updates + "app.update.auto" = false; + "browser.search.update" = false; + ## Appearance + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + ## Content behavior + "clipboard.autocopy" = false; + ## UX behavior + "browser.quitShortcut.disabled" = true; + "browser.tabs.closeWindowWithLastTab" = false; + ## UX features + "extensions.pocket.enabled" = false; + "identity.fxaccounts.enabled" = false; + }; - streaming = default + toUserJS { - # Widevine (DRMs) - "media.gmp-widevinecdm.enabled" = true; - "media.eme.enabled" = true; - # Cache - "browser.cache.disk.enable" = true; - "browser.cache.offline.storage" = true; - # Privacy - "privacy.clearOnShutdown.cache" = false; - "privacy.clearOnShutdown.cookies" = false; - "privacy.clearOnShutdown.siteSettings" = false; - "privacy.clearOnShutdown.offlineApps" = false; - "privacy.resistFingerprinting" = false; # Netflix is whining - }; + streaming = self.default + toUserJS { + # Widevine (DRMs) + "media.gmp-widevinecdm.enabled" = true; + "media.eme.enabled" = true; + # Cache + "browser.cache.disk.enable" = true; + "browser.cache.offline.storage" = true; + # Privacy + "privacy.clearOnShutdown.cache" = false; + "privacy.clearOnShutdown.cookies" = false; + "privacy.clearOnShutdown.siteSettings" = false; + "privacy.clearOnShutdown.offlineApps" = false; + "privacy.resistFingerprinting" = false; # Netflix is whining + }; - videoconferencing = default + toUserJS { - # IMPORTANT: uncheck "Prevent WebRTC from leaking local IP addresses" in uBlock Origin's settings - # NOTE: if using RFP (4501) - # some sites, e.g. Zoom, need a canvas site exception [Right Click>View Page Info>Permissions] - # Discord video does not work: it thinks you are FF78: use a separate profile or spoof the user agent - "media.peerconnection.enabled" = true; - "media.peerconnection.ice.no_host" = false; # may or may not be required - "webgl.disabled" = false; # required for Zoom - "webgl.min_capability_mode" = false; - "media.getusermedia.screensharing.enabled" = true; # optional - "media.autoplay.blocking_policy" = - 0; # optional (otherwise add site exceptions) - "javascript.options.wasm" = - true; # optional (some platforms may require this) - "dom.webaudio.enabled" = true; + videoconferencing = self.default + toUserJS { + # IMPORTANT: uncheck "Prevent WebRTC from leaking local IP addresses" in uBlock Origin's settings + # NOTE: if using RFP (4501) + # some sites, e.g. Zoom, need a canvas site exception [Right Click>View Page Info>Permissions] + # Discord video does not work: it thinks you are FF78: use a separate profile or spoof the user agent + "media.peerconnection.enabled" = true; + "media.peerconnection.ice.no_host" = false; # may or may not be required + "webgl.disabled" = false; # required for Zoom + "webgl.min_capability_mode" = false; + "media.getusermedia.screensharing.enabled" = true; # optional + "media.autoplay.blocking_policy" = + 0; # optional (otherwise add site exceptions) + "javascript.options.wasm" = + true; # optional (some platforms may require this) + "dom.webaudio.enabled" = true; + }; }; -} +in self -- cgit v1.2.3