Add firefox
This commit is contained in:
		
							parent
							
								
									2f7a523071
								
							
						
					
					
						commit
						d45c45eba4
					
				
					 11 changed files with 935 additions and 5 deletions
				
			
		
							
								
								
									
										106
									
								
								modules/user/modules/firefox/default.nix
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										106
									
								
								modules/user/modules/firefox/default.nix
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,106 @@
 | 
			
		|||
{ lib, pkgs, ... }@inputs:
 | 
			
		||||
let
 | 
			
		||||
  inherit (import ./prefgroups.nix inputs) modules prefgroups;
 | 
			
		||||
 | 
			
		||||
  extra-addons = let
 | 
			
		||||
    buildFirefoxXpiAddon = lib.makeOverridable ({
 | 
			
		||||
        stdenv ? pkgs.stdenv,
 | 
			
		||||
        fetchurl ? pkgs.fetchurl,
 | 
			
		||||
        pname,
 | 
			
		||||
        version,
 | 
			
		||||
        addonId,
 | 
			
		||||
        url,
 | 
			
		||||
        sha256,
 | 
			
		||||
        ...
 | 
			
		||||
      }: stdenv.mkDerivation {
 | 
			
		||||
        name = "${pname}-${version}";
 | 
			
		||||
 | 
			
		||||
        src = fetchurl { inherit url sha256; };
 | 
			
		||||
 | 
			
		||||
        preferLocalBuild = true;
 | 
			
		||||
        allowSubstitutes = true;
 | 
			
		||||
 | 
			
		||||
        buildCommand = ''
 | 
			
		||||
          dst="$out/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
 | 
			
		||||
          mkdir -p "$dst"
 | 
			
		||||
          install -v -m644 "$src" "$dst/${addonId}.xpi"
 | 
			
		||||
        '';
 | 
			
		||||
      });
 | 
			
		||||
  in {
 | 
			
		||||
    github-reposize = buildFirefoxXpiAddon {
 | 
			
		||||
      pname = "github-reposize";
 | 
			
		||||
      version = "1.7.0";
 | 
			
		||||
      addonId = "github-repo-size@mattelrah.com";
 | 
			
		||||
      url = "https://addons.mozilla.org/firefox/downloads/file/3854469/github_repo_size-1.7.0.xpi";
 | 
			
		||||
      sha256 = "2zGY12esYusaw2IzXM+1kP0B/0Urxu0yj7xXlDlutto=";
 | 
			
		||||
    };
 | 
			
		||||
    vencord = buildFirefoxXpiAddon {
 | 
			
		||||
      pname = "vencord";
 | 
			
		||||
      version = "1.2.7";
 | 
			
		||||
      addonId = "vencord-firefox@vendicated.dev";
 | 
			
		||||
      url = "https://addons.mozilla.org/firefox/downloads/file/4123132/vencord_web-1.2.7.xpi";
 | 
			
		||||
      sha256 = "A/XKdT0EuDHsQ7mcK9hsXAoAJYUt4Uvp/rtCf/9dAS0=";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
in {
 | 
			
		||||
  programs.firefox = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
 | 
			
		||||
    package = pkgs.firefox.overrideAttrs (pkg: let
 | 
			
		||||
      imEntry = pkg.desktopItem.override (entry: {
 | 
			
		||||
        name = "discord-firefox";
 | 
			
		||||
        desktopName = "IMs (Firefox)";
 | 
			
		||||
        exec = "${entry.exec} -no-remote -P Im";
 | 
			
		||||
        mimeTypes = [];
 | 
			
		||||
      });
 | 
			
		||||
    in {
 | 
			
		||||
      buildCommand = ''
 | 
			
		||||
        ${pkg.buildCommand}
 | 
			
		||||
        cp ${imEntry}/share/applications/* $out/share/applications
 | 
			
		||||
      '';
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    profiles = {
 | 
			
		||||
      base = {
 | 
			
		||||
        id = 1;
 | 
			
		||||
        name = "BaseFF";
 | 
			
		||||
        userChrome = builtins.readFile ./sideberry_chrome.css;
 | 
			
		||||
      };
 | 
			
		||||
      default = {
 | 
			
		||||
        id = 0;
 | 
			
		||||
        name = "Default";
 | 
			
		||||
        userChrome = ''
 | 
			
		||||
          ${builtins.readFile ./sideberry_chrome.css}
 | 
			
		||||
          ${builtins.readFile ./sideberry_hide_ext_button.css}
 | 
			
		||||
        '';
 | 
			
		||||
        settings = with modules; {}
 | 
			
		||||
        // base
 | 
			
		||||
        // minor-1
 | 
			
		||||
        // annoying;
 | 
			
		||||
 | 
			
		||||
        extensions = with pkgs.nur.repos.rycee.firefox-addons; with extra-addons; [
 | 
			
		||||
          bitwarden
 | 
			
		||||
          darkreader
 | 
			
		||||
          github-reposize
 | 
			
		||||
          sidebery
 | 
			
		||||
          simplelogin
 | 
			
		||||
          sponsorblock
 | 
			
		||||
          ublock-origin
 | 
			
		||||
          umatrix
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
      im = {
 | 
			
		||||
        id = 2;
 | 
			
		||||
        name = "Im";
 | 
			
		||||
        userChrome = builtins.readFile ./inline_tabs_chrome.css;
 | 
			
		||||
        settings = modules.base
 | 
			
		||||
        // prefgroups.misc.restore-pages;
 | 
			
		||||
 | 
			
		||||
        extensions = with pkgs.nur.repos.rycee.firefox-addons; with extra-addons; [
 | 
			
		||||
          ublock-origin
 | 
			
		||||
          vencord
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										60
									
								
								modules/user/modules/firefox/inline_tabs_chrome.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								modules/user/modules/firefox/inline_tabs_chrome.css
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,60 @@
 | 
			
		|||
/* Title bar */
 | 
			
		||||
.titlebar-buttonbox {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.titlebar-spacer {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Tab bar */
 | 
			
		||||
#navigator-toolbox {
 | 
			
		||||
    border: 0px !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#TabsToolbar {
 | 
			
		||||
    margin-left: 40vw !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Nav bar*/
 | 
			
		||||
#nav-bar {
 | 
			
		||||
    background: transparent !important;
 | 
			
		||||
    margin-top: -42px !important;
 | 
			
		||||
    margin-bottom: 1px !important;
 | 
			
		||||
    margin-right: 60vw !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* URL bar */
 | 
			
		||||
#back-button {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#forward-button {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#tracking-protection-icon-container {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#urlbar-container {
 | 
			
		||||
    min-width: 100px !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#urlbar {
 | 
			
		||||
    background: transparent !important;
 | 
			
		||||
    border: none !important;
 | 
			
		||||
    box-shadow: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#page-action-buttons {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#PanelUI-button {
 | 
			
		||||
    display: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#unified-extensions-button {
 | 
			
		||||
		display: none;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										569
									
								
								modules/user/modules/firefox/prefgroups.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										569
									
								
								modules/user/modules/firefox/prefgroups.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,569 @@
 | 
			
		|||
{ lib, ... }:
 | 
			
		||||
rec {
 | 
			
		||||
  prefgroups = {
 | 
			
		||||
    base = {
 | 
			
		||||
      "browser.aboutConfig.showWarning" = false;
 | 
			
		||||
      "browser.startup.homepage_override.mstone" = "ignore";
 | 
			
		||||
      # "browser.startup.homepage" = "about:newtab";
 | 
			
		||||
      # "browser.newtab.preload" = false;
 | 
			
		||||
 | 
			
		||||
      # Show whole url
 | 
			
		||||
      "browser.urlbar.trimURLs" = false;
 | 
			
		||||
 | 
			
		||||
      # disable disk cache to preserve ssd
 | 
			
		||||
      "browser.cache.disk.enable" = false;
 | 
			
		||||
      "browser.sessionstore.interval" = 6000000;
 | 
			
		||||
 | 
			
		||||
      "widget.gtk.overlay-scrollbars.enabled" = false;
 | 
			
		||||
 | 
			
		||||
      # disable the nag icon in the corner
 | 
			
		||||
      "browser.tabs.firefox-view" = false;
 | 
			
		||||
 | 
			
		||||
      # disable plugin signing requirements
 | 
			
		||||
      "xpinstall.signatures.required" = false;
 | 
			
		||||
      "xpinstall.whitelist.required" = false;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    security = {
 | 
			
		||||
      disable-form-autofill = {
 | 
			
		||||
        "browser.formfill.enable" = false;
 | 
			
		||||
        "extensions.formautofill.available" = "off";
 | 
			
		||||
        "extensions.formautofill.addresses.enabled" = false;
 | 
			
		||||
        "extensions.formautofill.creditCards.available" = false;
 | 
			
		||||
        "extensions.formautofill.creditCards.enabled" = false;
 | 
			
		||||
        "extensions.formautofill.heuristics.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-password-manager = {
 | 
			
		||||
        # Just in case its somehow enabled
 | 
			
		||||
        "security.ask_for_password" = 1;
 | 
			
		||||
        "security.password_lifetime" = 0;
 | 
			
		||||
 | 
			
		||||
        "signon.autofillForms" = false;
 | 
			
		||||
        "signon.formlessCapture.enabled" = false;
 | 
			
		||||
 | 
			
		||||
        "signon.rememberSignons" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # UNTESTED
 | 
			
		||||
      disable-cross-origin-auth-dialogs = {
 | 
			
		||||
        "network.auth.subresource-http-auth-allow" = 1;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-tls-mitm = {
 | 
			
		||||
        "security.ssl.require_safe_negotiation" = true;
 | 
			
		||||
        "security.tls.enable_0rtt_data" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      certificate = {
 | 
			
		||||
        validity = {
 | 
			
		||||
          "security.OCSP.enabled" = 1;
 | 
			
		||||
          "security.OCSP.require" = true;
 | 
			
		||||
 | 
			
		||||
          # CRLite (external service, any concernes unknown?) - certificate revocation
 | 
			
		||||
          "security.remote_settings.crlite_filters.enabled" = true;
 | 
			
		||||
          "security.pki.crlite_mode" = 2;
 | 
			
		||||
 | 
			
		||||
          # Firefox certificate blocklist
 | 
			
		||||
          "extensions.blocklist.enabled" = true;
 | 
			
		||||
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        # Disabled local MITM on certificates (Fiddler, AV, etc)
 | 
			
		||||
        enforcement = {
 | 
			
		||||
          "security.pki.sha1_enforcement_level" = 1;
 | 
			
		||||
          "security.cert_pinning.enforcement_level" = 2;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # HTTP resources on HTTPS pages
 | 
			
		||||
      disable-http-resources = {
 | 
			
		||||
        "security.mixed_content.block_display_content" = false;
 | 
			
		||||
        "dom.security.https_only_mode" = true;
 | 
			
		||||
        "dom.security.https_only_mode_send_http_background_request" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Display more and better warning information (+ advanced info) for SSL
 | 
			
		||||
      ssl-ui = {
 | 
			
		||||
        "security.ssl.treat_unsafe_negotiation_as_broken" = true;
 | 
			
		||||
        "browser.ssl_override_behavior" = 1;
 | 
			
		||||
        "browser.xul.error_pages.expert_bad_cert" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      cross-origin = {
 | 
			
		||||
        trimming = {
 | 
			
		||||
          "network.http.referer.XOriginTrimmingPolicy" = 2;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        same-host = {
 | 
			
		||||
          "network.http.referer.XOriginPolicy" = 2;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        same-domain = {
 | 
			
		||||
          "network.http.referer.XOriginPolicy" = 1;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # No real reason to ever have this enabled
 | 
			
		||||
      disable-uitour = {
 | 
			
		||||
        "browser.uitour.enabled" = false;
 | 
			
		||||
        "browser.uitour.url" = "";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-middlemouse-paste = {
 | 
			
		||||
        "middlemouse.paste" = false;
 | 
			
		||||
 | 
			
		||||
        # With this one enabled, just middleclicking will go to the url in clipboard
 | 
			
		||||
        "middlemouse.contentLoadURL" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Punycode can be used to make fake domain names
 | 
			
		||||
      show-punycode = {
 | 
			
		||||
        "network.IDN_show_punycode" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      use-pdfjs = {
 | 
			
		||||
        "pdfjs.disabled" = false;
 | 
			
		||||
        "pdfjs.enableScripting" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Applies to cross origin permission requests
 | 
			
		||||
      disable-permission-delegation = {
 | 
			
		||||
        "permissions.delegation.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Only allow extionsions installed in profile
 | 
			
		||||
      lockdown-extension-dirs = {
 | 
			
		||||
        "extensions.enabledScopes" = 5;
 | 
			
		||||
        "extensions.autoDisableScopes" = 15;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      always-ask-extension-install = {
 | 
			
		||||
        "extensions.postDownloadThirdPartyPrompt" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # UNTESTED/UNKNOWN
 | 
			
		||||
      remove-webchannel-whitelist = {
 | 
			
		||||
        "webchannel.allowObject.urlWhitelist" = "";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Remove extra permissions on mozilla pages
 | 
			
		||||
      remove-mozilla-permissions = {
 | 
			
		||||
        "permissions.manager.defaultsUrl" = "";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Enable ETP Strict mode
 | 
			
		||||
      # Enable Total Cookie Protection (xss cookie protection)
 | 
			
		||||
      etp-strict = {
 | 
			
		||||
        "browser.contentblocking.category" = "strict";
 | 
			
		||||
 | 
			
		||||
        # Disable compat features
 | 
			
		||||
        # "privacy.antitracking.enableWebcompat" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # UNTESTED
 | 
			
		||||
      partition-serviceworkers = {
 | 
			
		||||
        "privacy.partition.serviceWorkers" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-system-ui = {
 | 
			
		||||
        "browser.display.use_system_colors" = false;
 | 
			
		||||
        "widget.non-native-theme.enabled" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-webgl = {
 | 
			
		||||
        "webgl.disabled" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-sessionrestore = {
 | 
			
		||||
        "browser.sessionstore.resume_from_crash" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Yoinked from arkenfox/user.js
 | 
			
		||||
      enforce-defaults = {
 | 
			
		||||
        "network.http.referer.spoofSource" = false;
 | 
			
		||||
        "dom.targetBlankNoOpener.enabled" = true;
 | 
			
		||||
        "privacy.window.name.update.enabled" = true;
 | 
			
		||||
        "dom.storage.next_gen" = true;
 | 
			
		||||
        "privacy.firstparty.isolate" = false;
 | 
			
		||||
        "extensions.webcompat.enable_shims" = true;
 | 
			
		||||
        "security.tls.version.enable-deprecated" = false;
 | 
			
		||||
        "extensions.webcompat-reporter.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
      disable-js-jit = {
 | 
			
		||||
        "javascript.options.baselinejit" = false;
 | 
			
		||||
        "javascript.options.ion" = false;
 | 
			
		||||
        "javascript.options.wasm" = false;
 | 
			
		||||
        "javascript.options.asmjs" = false;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    privacy = {
 | 
			
		||||
      disable-activity-stream = {
 | 
			
		||||
        "browser.newtabpage.activity-stream.telemetry" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.feeds.telemetry" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.feeds.snippets" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.feeds.section.topstories" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.showSponsored" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.feeds.discoverystreamfeed" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.feeds.topsites" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.asrouter.userprefs.cfg.addons" = false;
 | 
			
		||||
        "browser.newtabpage.activity-stream.asrouter.userprefs.cfg.features" = false;
 | 
			
		||||
 | 
			
		||||
        # Remove default sites
 | 
			
		||||
        "browser.newtabpage.activity-stream.default.sites" = "";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      geolocation = {
 | 
			
		||||
        # Use mozilla's location provider over google's
 | 
			
		||||
        "geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
 | 
			
		||||
 | 
			
		||||
        # Disable OS geolocation services
 | 
			
		||||
        "geo.provider.use_gpsd" = false;
 | 
			
		||||
 | 
			
		||||
        # Disable region
 | 
			
		||||
        "browser.region.network.url" = "";
 | 
			
		||||
        "browser.region.update.enabled" = false;
 | 
			
		||||
 | 
			
		||||
        # Languages
 | 
			
		||||
        "intl.accept_languages" = "en-US, en";
 | 
			
		||||
        "javascript.use_us_english_locale" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
        # Uses google analytics
 | 
			
		||||
      disable-addon-reccomendation = {
 | 
			
		||||
        "extensions.getAddons.showPane" = false;
 | 
			
		||||
        "extensions.htmlaboutaddons.recommendations.enabled" = false;
 | 
			
		||||
        "browser.discovery.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-mozilla-telemetry = {
 | 
			
		||||
        "datareporting.policy.dataSubmissionEnabled" = false;
 | 
			
		||||
        "datareporting.healthreport.uploadEnabled" = false;
 | 
			
		||||
        "toolkit.telemetry.unified" = false;
 | 
			
		||||
        "toolkit.telemetry.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.server" = "data:,";
 | 
			
		||||
        "toolkit.telemetry.archive.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.newProfilePing.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.shutdownPingSender.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.updatePing.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.bhrPing.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.firstShutdownPing.enabled" = false;
 | 
			
		||||
        "toolkit.telemetry.coverage.opt-out" = true;
 | 
			
		||||
        "toolkit.coverage.opt-out" = true;
 | 
			
		||||
        "toolkit.coverage.endpoint.base" = "";
 | 
			
		||||
        "browser.ping-centre.telemetry" = false;
 | 
			
		||||
        "toolkit.telemetry.pioneer-new-studies-available" = false;
 | 
			
		||||
 | 
			
		||||
        "devtools.onboarding.telemetry.logged" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-studies = {
 | 
			
		||||
        "app.shield.optoutstudies.enabled" = false;
 | 
			
		||||
        "app.normandy.enabled" = false;
 | 
			
		||||
        "app.normandy.api_url" = "";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-crash-reports = {
 | 
			
		||||
        "breakpad.reportURL" = "";
 | 
			
		||||
        "browser.tabs.crashReporting.sendReport" = false;
 | 
			
		||||
        "browser.crashReports.unsubmittedCheck.autoSubmit2" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Impact unchecked (public wifi captive portals)
 | 
			
		||||
      disable-captive-portals = {
 | 
			
		||||
        "captivedetect.canonicalURL" = "";
 | 
			
		||||
        "network.captive-portal-service.enabled" = false;
 | 
			
		||||
        "network.connectivity-service.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Calls back to google
 | 
			
		||||
      disable-safebrowsing = {
 | 
			
		||||
        "browser.safebrowsing.downloads.enabled" = false;
 | 
			
		||||
 | 
			
		||||
        # May be blocked by `downloads.enabled` already
 | 
			
		||||
        "browser.safebrowsing.downloads.remote.enabled" = false;
 | 
			
		||||
        "browser.safebrowsing.downloads.remote.url" = "";
 | 
			
		||||
        "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
 | 
			
		||||
        "browser.safebrowsing.downloads.remote.block_uncommon" = false;
 | 
			
		||||
 | 
			
		||||
        "browser.safebrowsing.malware.enabled" = false;
 | 
			
		||||
        "browser.safebrowsing.phishing.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-speculative-connections = {
 | 
			
		||||
        "browser.places.speculativeConnect.enabled" = false;
 | 
			
		||||
        "browser.urlbar.speculativeConnect.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-search-corrections = {
 | 
			
		||||
        "keyword.enabled" = false;
 | 
			
		||||
 | 
			
		||||
        # Adds www. or .com
 | 
			
		||||
        "browser.fixup.alternate.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-search-suggestions = {
 | 
			
		||||
        "browser.search.suggest.enabled" = false;
 | 
			
		||||
        "browser.urlbar.suggest.searches" = false;
 | 
			
		||||
        "browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
 | 
			
		||||
        "browser.urlbar.suggest.quicksuggest.sponsored" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-dns-query-leak = {
 | 
			
		||||
        "browser.urlbar.dnsResolveSingleWordsAfterSearch" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      webrtc = {
 | 
			
		||||
        # Untrusted = no camera/mic granted
 | 
			
		||||
        hide-ip-untrusted = {
 | 
			
		||||
          "media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
 | 
			
		||||
          "media.peerconnection.ice.default_address_only" = true;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        hide-ip-trusted = {
 | 
			
		||||
          "media.peerconnection.ice.no_host" = true;
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        disable = {
 | 
			
		||||
          "media.peerconnection.enabled" = false;
 | 
			
		||||
          "media.navigator.enabled" = false;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-accessability = {
 | 
			
		||||
        "accessibility.force_disabled" = 1;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Intended for analytics
 | 
			
		||||
      disable-beacon = {
 | 
			
		||||
        "beacon.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Clear cookies on exit
 | 
			
		||||
      ephemeral-cookies = {
 | 
			
		||||
        "network.cookie.lifetimePolicy" = 2;
 | 
			
		||||
        "network.cookie.thirdparty.sessionOnly" = true;
 | 
			
		||||
        "network.cookie.thirdparty.nonsecureSessionOnly" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      sanitize-on-shutdown = {
 | 
			
		||||
        "privacy.sanitize.sanitizeOnShutdown" = true;
 | 
			
		||||
        "privacy.clearOnShutdown.cache" = true;
 | 
			
		||||
        "privacy.clearOnShutdown.downloads" = true;
 | 
			
		||||
        "privacy.clearOnShutdown.formdata" = true;
 | 
			
		||||
        "privacy.clearOnShutdown.history" = true;
 | 
			
		||||
        "privacy.clearOnShutdown.sessions" = true;
 | 
			
		||||
 | 
			
		||||
        "privacy.cpd.cache" = true;
 | 
			
		||||
        "privacy.cpd.formdata" = true;
 | 
			
		||||
        "privacy.cpd.history" = true;
 | 
			
		||||
        "privacy.cpd.sessions" = true;
 | 
			
		||||
 | 
			
		||||
        # Disabled because they have to be explicitly allowed per site
 | 
			
		||||
        "privacy.clearOnShutdown.offlineApps" = false;
 | 
			
		||||
        "privacy.clearOnShutdown.cookies" = false;
 | 
			
		||||
 | 
			
		||||
        "privacy.cpd.offlineApps" = false;
 | 
			
		||||
        "privacy.cpd.cookies" = false;
 | 
			
		||||
 | 
			
		||||
        "privacy.sanitize.timeSpan" = 0;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      resist-fingerprinting = {
 | 
			
		||||
        "privacy.resistFingerprinting" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Snap window resizing (tor browser does this)
 | 
			
		||||
      letterboxing = {
 | 
			
		||||
        "privacy.resistFingerprinting.letterboxing" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Can break login pages
 | 
			
		||||
      # Correction: Breaks a lot of shit. A LOT of shit.
 | 
			
		||||
      disable-referrer-headers = {
 | 
			
		||||
        "network.http.sendRefererHeader" = 0;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    misc = {
 | 
			
		||||
      disable-mozilla-account = {
 | 
			
		||||
        "identity.fxaccounts.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-pocket = {
 | 
			
		||||
        "extensions.pocket.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      container-tabs = {
 | 
			
		||||
        "privacy.userContext.enabled" = true;
 | 
			
		||||
        "privacy.userContext.ui.enabled" = true;
 | 
			
		||||
 | 
			
		||||
        # Make default + tab action
 | 
			
		||||
        # "privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Prefetching may make sites faster, but also causes unwanted background downloads
 | 
			
		||||
      disable-prefetching = {
 | 
			
		||||
        "network.prefetch-next" = false;
 | 
			
		||||
        "network.dns.disablePrefetch" = true;
 | 
			
		||||
        "network.predictor.enabled" = false;
 | 
			
		||||
        "network.predictor.enable-prefetch" = false;
 | 
			
		||||
        "network.http.speculative-parallel-limit" = 0;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-drm = {
 | 
			
		||||
        "media.eme.enabled" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      disable-autoplay = {
 | 
			
		||||
        "media.autoplay.default" = 5;
 | 
			
		||||
        "media.autoplay.blocking_policy" = 2;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Disallow sites resizing or moving the browser window
 | 
			
		||||
      disable-window-manipulation = {
 | 
			
		||||
        "dom.disable_window_move_resize" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      limited-popups = {
 | 
			
		||||
        "dom.disable_open_during_load" = false;
 | 
			
		||||
        "dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      ask-downloads = {
 | 
			
		||||
        "browser.download.useDownloadDir" = false;
 | 
			
		||||
 | 
			
		||||
        # Disable panel opening, lumped together
 | 
			
		||||
        "browser.download.alwaysOpenPanel" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      ask-new-mimetypes = {
 | 
			
		||||
        "browser.download.always_ask_before_handling_new_types" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Disable js opening new windows
 | 
			
		||||
      always-newtab = {
 | 
			
		||||
        "browser.link.open_newwindow" = 3;
 | 
			
		||||
        "browser.link.open_newwindow.restriction" = 0;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Stop save dialog delay
 | 
			
		||||
      reduce-dialog-delay = {
 | 
			
		||||
        # Still 500 to be less annoying, while avoiding click hijacking
 | 
			
		||||
        "security.dialog_enable_delay" = 500;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      # Handled by nix already
 | 
			
		||||
      disable-extension-updates = {
 | 
			
		||||
        "extensions.update.enabled" = false;
 | 
			
		||||
        "extensions.update.autoUpdateDefault" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      always-show-downloads = {
 | 
			
		||||
        "browser.download.autohideButton" = false;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      bookmark-new-tab = {
 | 
			
		||||
        "browser.tabs.loadBookmarksInTabs" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      enable-userchrome = {
 | 
			
		||||
        "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      restore-pages = {
 | 
			
		||||
        "browser.startup.page" = 3;
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      hide-bookmark-bar = {
 | 
			
		||||
        "browser.toolbars.bookmarks.visibility" = "never";
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
      default-dark-theme = {
 | 
			
		||||
        "extensions.activeThemeID" = "firefox-compact-dark@mozilla.org";
 | 
			
		||||
        "layout.css.prefers-color-scheme.content-override" = 0;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  modules = with prefgroups; {
 | 
			
		||||
    base = {}
 | 
			
		||||
    // base
 | 
			
		||||
    // misc.disable-mozilla-account
 | 
			
		||||
    // misc.container-tabs
 | 
			
		||||
    // privacy.disable-activity-stream
 | 
			
		||||
    // privacy.disable-addon-reccomendation
 | 
			
		||||
    // privacy.disable-mozilla-telemetry
 | 
			
		||||
    // privacy.disable-studies
 | 
			
		||||
    // privacy.disable-crash-reports
 | 
			
		||||
    // privacy.disable-safebrowsing
 | 
			
		||||
    // privacy.disable-dns-query-leak
 | 
			
		||||
    // security.disable-form-autofill
 | 
			
		||||
    // security.disable-password-manager
 | 
			
		||||
    // security.disable-cross-origin-auth-dialogs
 | 
			
		||||
    // security.disable-tls-mitm
 | 
			
		||||
    // security.certificate.validity
 | 
			
		||||
    // security.certificate.enforcement
 | 
			
		||||
    // security.ssl-ui
 | 
			
		||||
    // privacy.webrtc.hide-ip-untrusted
 | 
			
		||||
    // misc.disable-drm
 | 
			
		||||
    // misc.disable-autoplay
 | 
			
		||||
    // misc.disable-window-manipulation
 | 
			
		||||
    // misc.limited-popups
 | 
			
		||||
    // privacy.disable-accessability
 | 
			
		||||
    // privacy.disable-beacon
 | 
			
		||||
    // security.disable-uitour
 | 
			
		||||
    // security.disable-middlemouse-paste
 | 
			
		||||
    // security.show-punycode
 | 
			
		||||
    // security.use-pdfjs
 | 
			
		||||
    // security.disable-permission-delegation
 | 
			
		||||
    // misc.ask-downloads
 | 
			
		||||
    // misc.ask-new-mimetypes
 | 
			
		||||
    // security.lockdown-extension-dirs
 | 
			
		||||
    // security.always-ask-extension-install
 | 
			
		||||
    // security.remove-mozilla-permissions
 | 
			
		||||
    // security.partition-serviceworkers
 | 
			
		||||
    // misc.always-newtab
 | 
			
		||||
    // misc.reduce-dialog-delay
 | 
			
		||||
    // security.enforce-defaults
 | 
			
		||||
    // misc.bookmark-new-tab
 | 
			
		||||
    // misc.disable-pocket
 | 
			
		||||
    // misc.always-show-downloads
 | 
			
		||||
    // misc.enable-userchrome
 | 
			
		||||
    // misc.hide-bookmark-bar
 | 
			
		||||
    // misc.default-dark-theme
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
    # Minor breakage / inconvenience
 | 
			
		||||
    minor-1 = {}
 | 
			
		||||
    // misc.disable-prefetching
 | 
			
		||||
    // privacy.disable-captive-portals
 | 
			
		||||
    // privacy.disable-search-suggestions
 | 
			
		||||
    // security.disable-http-resources
 | 
			
		||||
    // security.cross-origin.trimming
 | 
			
		||||
    // security.cross-origin.same-host
 | 
			
		||||
    // security.remove-webchannel-whitelist
 | 
			
		||||
    // security.etp-strict
 | 
			
		||||
    // privacy.sanitize-on-shutdown
 | 
			
		||||
    // privacy.resist-fingerprinting
 | 
			
		||||
    // security.disable-system-ui
 | 
			
		||||
    // security.disable-webgl
 | 
			
		||||
    // security.disable-sessionrestore
 | 
			
		||||
    // security.disable-js-jit
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
    annoying = {}
 | 
			
		||||
    // privacy.webrtc.hide-ip-trusted
 | 
			
		||||
    // privacy.ephemeral-cookies
 | 
			
		||||
    // privacy.webrtc.disable
 | 
			
		||||
    # // privacy.disable-referrer-headers
 | 
			
		||||
    ;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  mkUserJs = prefs: lib.concatStrings (lib.mapAttrsToList (name: value: ''
 | 
			
		||||
    user_pref("${name}", "${builtins.toJSON value}");
 | 
			
		||||
  '') prefs);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										166
									
								
								modules/user/modules/firefox/sideberry_chrome.css
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										166
									
								
								modules/user/modules/firefox/sideberry_chrome.css
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,166 @@
 | 
			
		|||
/* Sidebery */
 | 
			
		||||
#main-window[titlepreface*=""] .tabbrowser-tab {
 | 
			
		||||
  visibility: collapse;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-window[titlepreface*=""] .titlebar-button {
 | 
			
		||||
  height: 40px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-window[titlepreface*=""] #nav-bar {
 | 
			
		||||
  margin-top: -40px;
 | 
			
		||||
}
 | 
			
		||||
#main-window[titlepreface*=""][tabsintitlebar="true"] #nav-bar {
 | 
			
		||||
  margin-right: 137px;
 | 
			
		||||
}
 | 
			
		||||
#main-window[titlepreface*=""] #titlebar-spacer {
 | 
			
		||||
  background-color: var(--chrome-secondary-background-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-window[titlepreface*=""] #titlebar-buttonbox-container {
 | 
			
		||||
  background-color: var(--chrome-secondary-background-color);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#main-window[titlepreface*=""] .titlebar-color {
 | 
			
		||||
  background-color: var(--toolbar-bgcolor);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sidebar-box #sidebar-header {
 | 
			
		||||
  visibility: collapse;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0
 | 
			
		||||
See the above repository for updates as well as full license text. */
 | 
			
		||||
 | 
			
		||||
/* Show sidebar only when the cursor is over it  */
 | 
			
		||||
/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
 | 
			
		||||
 | 
			
		||||
#sidebar-box {
 | 
			
		||||
  --uc-sidebar-width: 47px;
 | 
			
		||||
  --uc-sidebar-hover-width: 232px;
 | 
			
		||||
  --uc-autohide-sidebar-delay: 050ms; /* Wait 0.6s before hiding sidebar */
 | 
			
		||||
  position: relative;
 | 
			
		||||
  min-width: var(--uc-sidebar-width) !important;
 | 
			
		||||
  width: var(--uc-sidebar-width) !important;
 | 
			
		||||
  max-width: var(--uc-sidebar-width) !important;
 | 
			
		||||
  z-index:1;
 | 
			
		||||
  margin-top: -1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sidebar-box[positionend] {
 | 
			
		||||
  direction: rtl;
 | 
			
		||||
}
 | 
			
		||||
#sidebar-box[positionend] > *{
 | 
			
		||||
  direction: ltr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sidebar-box[positionend]:-moz-locale-dir(rtl){
 | 
			
		||||
  direction: ltr;
 | 
			
		||||
}
 | 
			
		||||
#sidebar-box[positionend]:-moz-locale-dir(rtl) > *{
 | 
			
		||||
  direction: rtl;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sidebar-box > #sidebar {
 | 
			
		||||
  transition: min-width 115ms linear !important;
 | 
			
		||||
  min-width: var(--uc-sidebar-width) !important;
 | 
			
		||||
  will-change: min-width;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sidebar-box:hover > #sidebar {
 | 
			
		||||
  min-width: var(--uc-sidebar-hover-width) !important;
 | 
			
		||||
  transition: min-width 100ms linear var(--uc-autohide-sidebar-delay), box-shadow 500ms linear !important;
 | 
			
		||||
  box-shadow: 0 0 4px rgba(10,10,10, .5);
 | 
			
		||||
  clip-path: inset(0px -15px 0px -15px);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Add sidebar divider and give it background */
 | 
			
		||||
 | 
			
		||||
#sidebar,
 | 
			
		||||
#sidebar-header {
 | 
			
		||||
  background-color: var(--toolbar-bgcolor) !important;
 | 
			
		||||
  border-inline: 1px solid var(--chrome-content-separator-color);
 | 
			
		||||
  border-inline-width: 0px 1px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
 | 
			
		||||
#sidebar-box[positionend] > * {
 | 
			
		||||
  border-inline-width: 1px 0px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
 | 
			
		||||
 | 
			
		||||
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel {
 | 
			
		||||
  inset-inline: auto 0px !important;
 | 
			
		||||
}
 | 
			
		||||
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label {
 | 
			
		||||
  margin-inline: 0px !important;
 | 
			
		||||
  border-left-style: solid !important;
 | 
			
		||||
}
 | 
			
		||||
#sidebar-splitter{
 | 
			
		||||
  width: 0px !important;
 | 
			
		||||
  background-color: #f00 !important;
 | 
			
		||||
  border: none !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_bookmarks_toolbar.css made available under Mozilla Public License v. 2.0
 | 
			
		||||
See the above repository for updates as well as full license text. */
 | 
			
		||||
 | 
			
		||||
#PersonalToolbar{
 | 
			
		||||
  --uc-bm-height: 20px; /* Might need to adjust if the toolbar has other buttons */
 | 
			
		||||
  --uc-bm-padding: 7px; /* Vertical padding to be applied to bookmarks */
 | 
			
		||||
  --uc-autohide-toolbar-delay: 600ms; /* The toolbar is hidden after 0.6s */
 | 
			
		||||
 | 
			
		||||
  /* 0deg = "show" ; 90deg = "hide" ;  Set the following to control when bookmarks are shown */
 | 
			
		||||
  --uc-autohide-toolbar-focus-rotation: 0deg; /* urlbar is focused */
 | 
			
		||||
  --uc-autohide-toolbar-hover-rotation: 0deg; /* cursor is over the toolbar area */
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
:root[uidensity="compact"] #PersonalToolbar{ --uc-bm-padding: 1px; }
 | 
			
		||||
:root[uidensity="touch"] #PersonalToolbar{ --uc-bm-padding: 7px }
 | 
			
		||||
 | 
			
		||||
#PersonalToolbar:not([customizing]){
 | 
			
		||||
  position: relative;
 | 
			
		||||
  margin-bottom: calc(0px - var(--uc-bm-height) - 2 * var(--uc-bm-padding));
 | 
			
		||||
  transform: rotateX(90deg);
 | 
			
		||||
  transform-origin: top;
 | 
			
		||||
  transition: transform 135ms linear var(--uc-autohide-toolbar-delay) !important;
 | 
			
		||||
  z-index: 1;
 | 
			
		||||
  /* The following properties should allow the themes with trasparent toolbars to work */
 | 
			
		||||
  background-color: transparent !important;
 | 
			
		||||
  background-repeat: no-repeat,no-repeat,var(--lwt-background-tiling);
 | 
			
		||||
  --uc-bg-y: calc(-2 * (var(--tab-block-margin) + var(--toolbarbutton-inner-padding) + var(--toolbarbutton-outer-padding)) - var(--tab-min-height) - 16px - var(--bookmark-block-padding));
 | 
			
		||||
  background-position: top left,top left,var(--lwt-background-alignment,top left);
 | 
			
		||||
  background-position-y:top,top,var(--uc-bg-y),var(--uc-bg-y),var(--uc-bg-y);
 | 
			
		||||
  background-image: var(--toolbar-bgimage), linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)),var(--lwt-header-image,var(--lwt-additional-images)) !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#PlacesToolbarItems > .bookmark-item,
 | 
			
		||||
#OtherBookmarks,
 | 
			
		||||
#PersonalToolbar > #import-button{
 | 
			
		||||
  padding-block: var(--uc-bm-padding) !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#nav-bar:focus-within + #PersonalToolbar{
 | 
			
		||||
  transition-delay: 100ms !important;
 | 
			
		||||
  transform: rotateX(var(--uc-autohide-toolbar-focus-rotation,0));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#navigator-toolbox:hover > #PersonalToolbar{
 | 
			
		||||
  transition-delay: 100ms !important;
 | 
			
		||||
  transform: rotateX(var(--uc-autohide-toolbar-hover-rotation,0));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#navigator-toolbox:hover > #nav-bar:focus-within + #PersonalToolbar {
 | 
			
		||||
  transform: rotateX(0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* Uncomment to enable compatibility for multi-row_bookmarks.css */
 | 
			
		||||
/* This would break buttons placed in the toolbar but that is likely not happening if you are using multi-row setup  */
 | 
			
		||||
/*
 | 
			
		||||
#PersonalToolbar:not([customizing]){
 | 
			
		||||
  position: fixed;
 | 
			
		||||
  display: block;
 | 
			
		||||
  margin-bottom: 0px !important;
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,3 @@
 | 
			
		|||
#main-window[titlepreface*=""] #unified-extensions-button {
 | 
			
		||||
		display: none;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1
									
								
								modules/user/modules/firefox/sideberry_settings.json
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								modules/user/modules/firefox/sideberry_settings.json
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue