aboutsummaryrefslogtreecommitdiff
path: root/modules/home/browsers/firefox
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home/browsers/firefox')
-rw-r--r--modules/home/browsers/firefox/default.nix273
1 files changed, 0 insertions, 273 deletions
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;
- };
- };
- };
- };
-}