From 3b13d9a2a367db84d48940460532c17a374bb488 Mon Sep 17 00:00:00 2001 From: schererleander Date: Thu, 5 Feb 2026 12:03:07 +0100 Subject: feat(modules): use dendritic pattern --- modules/home/browsers/firefox/default.nix | 273 ------------------------------ 1 file changed, 273 deletions(-) delete mode 100644 modules/home/browsers/firefox/default.nix (limited to 'modules/home/browsers/firefox') diff --git a/modules/home/browsers/firefox/default.nix b/modules/home/browsers/firefox/default.nix deleted file mode 100644 index 2cb0656..0000000 --- a/modules/home/browsers/firefox/default.nix +++ /dev/null @@ -1,273 +0,0 @@ -{ - pkgs, - inputs, - config, - lib, - ... -}: -let - - cfg = config.nx.browsers.firefox; - inherit (lib) - mkEnableOption - mkOption - types - mkIf - optionalString - optionalAttrs - ; -in -{ - - options.nx.browsers.firefox = { - enable = mkEnableOption "mozilla firefox"; - blockGoogle = mkOption { - description = "blocks google banner and other"; - type = types.bool; - default = true; - }; - transparent = mkOption { - description = "make firefox transparent"; - type = types.bool; - default = false; - }; - cleanHome = mkOption { - description = "clean up firefox home"; - type = types.bool; - default = true; - }; - hideRecommendations = mkOption { - description = "hide firefox recommendations"; - type = types.bool; - default = true; - }; - disablePasswordManager = mkOption { - description = "disable built-in browser password manager"; - type = types.bool; - default = true; - }; - }; - - config = mkIf cfg.enable { - programs.firefox = { - enable = true; - profiles.default = { - extensions = { - packages = with inputs.firefox-addons.packages.${pkgs.stdenv.hostPlatform.system}; [ - ublock-origin - istilldontcareaboutcookies - sponsorblock - decentraleyes - vimium-c - ]; - - force = true; - - settings."uBlock0@raymondhill.net".settings = { - UserMessaging = { - uiTheme = "dark"; - uiAccentCustom = true; - uiAccentCustom0 = "#2C2C2C"; - cloudStorageEnabled = false; - contextMenuEnabled = false; - }; - # Block annoying login with google banner - userFilters = optionalString cfg.blockGoogle '' - ||accounts.google.com/gsi/* - ''; - }; - }; - - search = { - default = "DuckDuckGo"; - engines = { - nix-packages = { - name = "Nix Packages"; - urls = [ - { - template = "https://search.nixos.org/packages"; - params = [ - { - name = "type"; - value = "packages"; - } - { - name = "query"; - value = "{searchTerms}"; - } - ]; - } - ]; - - icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; - definedAliases = [ "@np" ]; - }; - - nixos-wiki = { - name = "NixOS Wiki"; - urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ]; - iconMapObj."16" = "https://wiki.nixos.org/favicon.ico"; - definedAliases = [ "@nw" ]; - }; - - bing.metaData.hidden = true; - google.metaData.alias = "@g"; - }; - force = true; - }; - - userChrome = optionalString cfg.transparent '' - /* Hide Back, Forward, Reload, Stop, All Tabs, Firefox View buttons */ - #back-button, - #forward-button, - #reload-button, - #stop-button, - #alltabs-button, - #firefox-view-button { - display: none !important; - } - - .titlebar-buttonbox-container { - display: none; - } - - #tabbrowser-tabs { - border-inline: none !important; - } - - /* Transparent background tabs (above url bar) */ - #navigator-toolbox { - -moz-appearance: -moz-vibrant-titlebar !important; - background: rgba(0, 0, 0, 0.8) !important; - } - - /* Transparent background (behind url bar) */ - #nav-bar { - background: none !important; - box-shadow: none !important; - border-top: 0px !important; - } - - .tab-background[selected="true"] { - background-color: #393e43 !important; - background-image: none !important; - } - - .tab-background { - background-color: var(--background) !important; - color: var(--foreground) !important; - box-shadow: none !important;; - } - - .tab-background[selected] { - background-color: rgba(0, 0, 0, 0.30) !important; - color: var(--foreground) !important; - box-shadow: none !important; - } - - /* Needed for transparency in general */ - :root { - --tabpanel-background-color: transparent !important; - --chrome-content-separator-color: transparent !important; - --toolbar-bgcolor: rgba(0, 0, 0, 0.9) !important; - --newtab-background-color: rgba(0, 0, 0, 0.9) !important; - --newtab-background-color-secondary: transparent !important; - --toolbar-field-background-color: rgba(120, 120, 120, 0.10) !important; - } - ''; - userContent = optionalString cfg.transparent '' - @-moz-document url-prefix("about:"), url("about:home") { - /* Transparent about:settings about:config about:policies */ - :root { - background: rgba(0, 0, 0, 0.0) !important; - } - } - - /* Transparent about:home */ - * { - --newtab-background-color: transparent !important; - --newtab-background-color-secondary: transparent !important; - } - - /* Transparent elements in about:* */ - * { - --in-content-page-background: transparent !important; - --background-color-box: rgba(0, 0, 0, 0.5) !important; - } - ''; - }; - - policies = { - DisableTelemetry = true; - DisableFirefoxStudies = true; - PasswordManagerEnabled = !cfg.disablePasswordManager; - OfferToSaveLogins = !cfg.disablePasswordManager; - DisplayBookmarksToolbar = "never"; - NoDefaultBookmarks = true; - - Homepage = optionalAttrs cfg.cleanHome { - URL = "about:blank"; - Locked = true; - StartPage = "homepage"; - }; - - NewTabPage = !cfg.cleanHome; - - PictureInPicture = { - Enabled = false; - }; - - EnableTrackingProtection = { - Value = true; - Locked = true; - Cryptomining = true; - Fingerprinting = true; - }; - - EncryptedMediaExtensions = { - Enabled = true; - Locked = true; - }; - - FirefoxHome = { - Search = true; - TopSites = true; - SponsoredTopSites = !cfg.cleanHome; - Highlights = true; - Pocket = !cfg.cleanHome; - SponsoredPocket = !cfg.cleanHome; - Locked = true; - }; - - UserMessaging = { - ExtensionRecommendations = !cfg.hideRecommendations; - FeatureRecommendations = !cfg.hideRecommendations; - Locked = true; - MoreFromMozilla = !cfg.hideRecommendations; - SkipOnboarding = true; - UrlbarInterventions = !cfg.hideRecommendations; - }; - - Preferences = { - # Disable fullscreen notification - "full-screen-api.warning.timeout" = "0"; - - # Disable annoying translation popup - "browser.translations.automaticallyPopup" = false; - - # Enable all extensions automatically - "extensions.autoDisableScopes" = 0; - - # Hide ctr-tab tab preview menu - "browser.ctrlTab.sortByRecentlyUsed" = false; - } - // optionalAttrs cfg.transparent { - # transparency - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "browser.tabs.allow_transparent_browser" = true; - "gfx.webrender.all" = true; - }; - }; - }; - }; -} -- cgit v1.3.1