From 02bd98ea18b454a62f53dda1df5b96c5ef9a86ae Mon Sep 17 00:00:00 2001 From: Henry-Hiles Date: Sat, 22 Feb 2025 22:58:08 +0000 Subject: [PATCH] Partially swap ove r firefox config to system (cant do search engines because of mozilla...) --- flake.lock | 42 +++--- home-manager.nix | 2 +- home-manager/firefox-nord.css | 208 ++++++++++++++++------------- home-manager/firefox.nix | 24 ++-- modules/common-desktop/firefox.nix | 106 +++++++++++++++ 5 files changed, 253 insertions(+), 129 deletions(-) create mode 100644 modules/common-desktop/firefox.nix diff --git a/flake.lock b/flake.lock index 8a86a27..b47c28f 100644 --- a/flake.lock +++ b/flake.lock @@ -86,11 +86,11 @@ "firefox-gnome-theme_2": { "flake": false, "locked": { - "lastModified": 1736899990, - "narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=", + "lastModified": 1739223196, + "narHash": "sha256-vAxN2f3rvl5q62gQQjZGVSvF93nAsOxntuFz+e/655w=", "owner": "rafaelmardojai", "repo": "firefox-gnome-theme", - "rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d", + "rev": "a89108e6272426f4eddd93ba17d0ea101c34fb21", "type": "github" }, "original": { @@ -240,11 +240,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1739571712, - "narHash": "sha256-0UdSDV/TBY+GuxXLbrLq3l2Fq02ciyKCIMy4qmnfJXQ=", + "lastModified": 1740177427, + "narHash": "sha256-1xUiN0Yvvl/r+XyyXiJHxw64FwUGBfKF+XA7Ugm8ElU=", "owner": "nix-community", "repo": "home-manager", - "rev": "6d3163aea47fdb1fe19744e91306a2ea4f602292", + "rev": "9f74e14a2d9af4c6f2024cca7813b830b020f45e", "type": "github" }, "original": { @@ -279,11 +279,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1739497168, - "narHash": "sha256-gKF/ZZRAHYvCXwZRDopPfy/kQrL1W7HqiAjjnDn3WSo=", + "lastModified": 1740162289, + "narHash": "sha256-jYhBd5VR2BKo75qDUQaWrhHVC5GJPJraTbGJVVQkfgM=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "78c53283c9c7a4f1ac83ac0354e5f74ef8eacc01", + "rev": "8172a58da94446a15ad5801a6d091a8d13f88e6c", "type": "github" }, "original": { @@ -322,11 +322,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", + "lastModified": 1739451785, + "narHash": "sha256-3ebRdThRic9bHMuNi2IAA/ek9b32bsy8F5R4SvGTIog=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", + "rev": "1128e89fd5e11bb25aedbfc287733c6502202ea9", "type": "github" }, "original": { @@ -338,11 +338,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1739446958, - "narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=", + "lastModified": 1739866667, + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2ff53fe64443980e139eaa286017f53f88336dd0", + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", "type": "github" }, "original": { @@ -376,11 +376,11 @@ "utils": "utils" }, "locked": { - "lastModified": 1739621097, - "narHash": "sha256-d5cvxl9Zv5SsGZ9lS2ugupkXtXkOEfMNY9zOcbM3csE=", + "lastModified": 1740139556, + "narHash": "sha256-yFZza77iQ3ijTcRfmciCCiPw1MkdxK1ndmlGw/jZa6o=", "owner": "wamserma", "repo": "flake-programs-sqlite", - "rev": "d567dd50d946a03b779d9838d8426de7151e5b18", + "rev": "94bbdee1c5add27443f097272b79230503e8b81c", "type": "github" }, "original": { @@ -421,11 +421,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1739375014, - "narHash": "sha256-0fNbvZ1Dod4rDIfwGnC7CzJ3wRFSF1v5AvNCmNkVgXo=", + "lastModified": 1740167553, + "narHash": "sha256-/tbaAA3PUfPbmOqxztKQKITBnJmgtqh/mVG6ygwpTXU=", "owner": "danth", "repo": "stylix", - "rev": "e86de61bb8f5f2b6459d0be3e3291ad16db4b777", + "rev": "917e07af1451d7765be57c8b31bb3372c7b821a7", "type": "github" }, "original": { diff --git a/home-manager.nix b/home-manager.nix index bcb15ba..20a112f 100755 --- a/home-manager.nix +++ b/home-manager.nix @@ -14,7 +14,7 @@ ./home-manager/gtk.nix ./home-manager/vscode.nix ./home-manager/firefox.nix - {stylix.targets.hyprland.enable = false;} + {stylix.targets.hyprland.enable = false;} ]; }; } diff --git a/home-manager/firefox-nord.css b/home-manager/firefox-nord.css index 1fd87c8..c2dab12 100644 --- a/home-manager/firefox-nord.css +++ b/home-manager/firefox-nord.css @@ -5,112 +5,136 @@ * built-in in Firefox, so you need to add an !important if you wanna * override them. */ @media (prefers-color-scheme: dark) { - :root { - /* Browser area before a page starts loading */ - --gnome-browser-before-load-background: #2e3440; + :root { + /* Browser area before a page starts loading */ + --gnome-browser-before-load-background: #2e3440; - /* Accent */ - --gnome-accent-bg: #3584e4; - --gnome-accent: #78aeed; + /* Accent */ + --gnome-accent-bg: #3584e4; + --gnome-accent: #78aeed; - /* Toolbars */ - --gnome-toolbar-background: var(--gnome-headerbar-background); - --gnome-toolbar-color: #d8dee9; - --gnome-toolbar-border-color: rgba(0, 0, 0, .36); - --gnome-toolbar-icon-fill: #eeeeec; - --gnome-inactive-toolbar-color: #919190; - --gnome-inactive-toolbar-background: var(--gnome-inactive-headerbar-background); - --gnome-inactive-toolbar-border-color: var(--gnome-toolbar-border-color); - --gnome-inactive-toolbar-icon-fill: #919190; + /* Toolbars */ + --gnome-toolbar-background: var(--gnome-headerbar-background); + --gnome-toolbar-color: #d8dee9; + --gnome-toolbar-border-color: rgba(0, 0, 0, 0.36); + --gnome-toolbar-icon-fill: #eeeeec; + --gnome-inactive-toolbar-color: #919190; + --gnome-inactive-toolbar-background: var( + --gnome-inactive-headerbar-background + ); + --gnome-inactive-toolbar-border-color: var( + --gnome-toolbar-border-color + ); + --gnome-inactive-toolbar-icon-fill: #919190; - /* Sidebar */ - --gnome-sidebar-background: var(--gnome-toolbar-background); - --gnome-inactive-sidebar-background: var(--gnome-sidebar-background); + /* Sidebar */ + --gnome-sidebar-background: var(--gnome-toolbar-background); + --gnome-inactive-sidebar-background: var(--gnome-sidebar-background); - /* Menus */ - --gnome-menu-background: #3b4252; - --gnome-menu-border-color: rgba(0, 0, 0, .14); - --gnome-menu-shadow: 0 1px 5px 1px rgba(0,0,0, .09), 0 2px 14px 3px rgba(0,0,0, .05); - --gnome-menu-button-hover-background: var(--gnome-button-background); - --gnome-menu-separator-color: rgba(255, 255, 255, .1); + /* Menus */ + --gnome-menu-background: #3b4252; + --gnome-menu-border-color: rgba(0, 0, 0, 0.14); + --gnome-menu-shadow: 0 1px 5px 1px rgba(0, 0, 0, 0.09), + 0 2px 14px 3px rgba(0, 0, 0, 0.05); + --gnome-menu-button-hover-background: var(--gnome-button-background); + --gnome-menu-separator-color: rgba(255, 255, 255, 0.1); - /* Header bar */ - --gnome-headerbar-background: #2e3440; - --gnome-headerbar-border-color: var(--gnome-toolbar-border-color); -/* --gnome-inactive-headerbar-background: var(--gnome-browser-before-load-background);*/ - --gnome-inactive-headerbar-background: #3b4252; - --gnome-inactive-headerbar-border-color: var(--gnome-inactive-toolbar-border-color); + /* Header bar */ + --gnome-headerbar-background: #2e3440; + --gnome-headerbar-border-color: var(--gnome-toolbar-border-color); + /* --gnome-inactive-headerbar-background: var(--gnome-browser-before-load-background);*/ + --gnome-inactive-headerbar-background: #3b4252; + --gnome-inactive-headerbar-border-color: var( + --gnome-inactive-toolbar-border-color + ); - /* Buttons */ - --gnome-button-background: rgba(255, 255, 255, .1); - --gnome-button-hover-background: rgba(255, 255, 255, .15); - --gnome-button-active-background: rgba(255, 255, 255, .3); - --gnome-button-flat-hover-background: rgba(255, 255, 255, .07); - --gnome-button-flat-active-background: rgba(255, 255, 255, .1); - --gnome-button-suggested-action-background: var(--gnome-accent-bg); - --gnome-button-destructive-action-background: #e01b24; + /* Buttons */ + --gnome-button-background: rgba(255, 255, 255, 0.1); + --gnome-button-hover-background: rgba(255, 255, 255, 0.15); + --gnome-button-active-background: rgba(255, 255, 255, 0.3); + --gnome-button-flat-hover-background: rgba(255, 255, 255, 0.07); + --gnome-button-flat-active-background: rgba(255, 255, 255, 0.1); + --gnome-button-suggested-action-background: var(--gnome-accent-bg); + --gnome-button-destructive-action-background: #e01b24; - --gnome-button-close-background: var(--gnome-button-flat-hover-background); - --gnome-button-hover-close-background:var(--gnome-button-hover-background); - --gnome-button-active-close-background: var(--gnome-button-active-background); + --gnome-button-close-background: var( + --gnome-button-flat-hover-background + ); + --gnome-button-hover-close-background: var( + --gnome-button-hover-background + ); + --gnome-button-active-close-background: var( + --gnome-button-active-background + ); - --gnome-toolbar-star-button: #f8e45c; + --gnome-toolbar-star-button: #f8e45c; - /* Entries */ - --gnome-entry-background: rgba(255, 255, 255, .1); - --gnome-entry-color: #d8dee9; - --gnome-inactive-entry-color: #d6d6d6; - --gnome-focused-urlbar-border-color: rgba(120, 174, 237, .5); /* Same as --gnome-accent but with opacity*/ + /* Entries */ + --gnome-entry-background: rgba(255, 255, 255, 0.1); + --gnome-entry-color: #d8dee9; + --gnome-inactive-entry-color: #d6d6d6; + --gnome-focused-urlbar-border-color: rgba( + 120, + 174, + 237, + 0.5 + ); /* Same as --gnome-accent but with opacity*/ - /* Switch */ - --gnome-switch-background: rgba(255, 255, 255, .15); - --gnome-switch-slider-background: #d2d2d2; - --gnome-switch-active-background: var(--gnome-accent-bg); - --gnome-switch-active-slider-background: #d8dee9; + /* Switch */ + --gnome-switch-background: rgba(255, 255, 255, 0.15); + --gnome-switch-slider-background: #d2d2d2; + --gnome-switch-active-background: var(--gnome-accent-bg); + --gnome-switch-active-slider-background: #d8dee9; - /* Tabs */ - --gnome-tabbar-background: var(--gnome-headerbar-background); - --gnome-tabbar-tab-separator-color: rgba(255, 255, 255, .15); - --gnome-tabbar-tab-hover-background: #3a404b; /* Hardcoded color */ - --gnome-tabbar-tab-active-background: #3f4551; /* Hardcoded color */ - --gnome-tabbar-tab-active-background-contrast: #616979; /* Hardcoded color */ - --gnome-tabbar-tab-active-hover-background: #444a56; /* Hardcoded color */ - --gnome-inactive-tabbar-background: var(--gnome-inactive-headerbar-background); - --gnome-inactive-tabbar-tab-hover-background: #404857; /* Hardcoded color */ - --gnome-inactive-tabbar-tab-active-background: #434a59; /* Hardcoded color */ - --gnome-tab-button-background: rgba(0, 0, 0, .5); - --gnome-tab-button-hover-background: rgba(0, 0, 0, .6); - --gnome-tabbar-tab-identity-base-opacity: 0; - --gnome-tabbar-tab-needs-attetion: #546F8E; - } + /* Tabs */ + --gnome-tabbar-background: var(--gnome-headerbar-background); + --gnome-tabbar-tab-separator-color: rgba(255, 255, 255, 0.15); + --gnome-tabbar-tab-hover-background: #3a404b; /* Hardcoded color */ + --gnome-tabbar-tab-active-background: #3f4551; /* Hardcoded color */ + --gnome-tabbar-tab-active-background-contrast: #616979; /* Hardcoded color */ + --gnome-tabbar-tab-active-hover-background: #444a56; /* Hardcoded color */ + --gnome-inactive-tabbar-background: var( + --gnome-inactive-headerbar-background + ); + --gnome-inactive-tabbar-tab-hover-background: #404857; /* Hardcoded color */ + --gnome-inactive-tabbar-tab-active-background: #434a59; /* Hardcoded color */ + --gnome-tab-button-background: rgba(0, 0, 0, 0.5); + --gnome-tab-button-hover-background: rgba(0, 0, 0, 0.6); + --gnome-tabbar-tab-identity-base-opacity: 0; + --gnome-tabbar-tab-needs-attetion: #546f8e; + } - /* Private window colors */ - :root { - --gnome-private-accent: #71A1DB; + /* Private window colors */ + :root { + --gnome-private-accent: #71a1db; - /* Toolbars */ - --gnome-private-toolbar-background: #1C2438; - --gnome-private-inactive-toolbar-background: var(--gnome-private-toolbar-background); - /* Menus */ - --gnome-private-menu-background: #252F49; - /* Header bar */ - --gnome-private-headerbar-background: #252F49; - --gnome-private-inactive-headerbar-background: var(--gnome-private-toolbar-background); - /* Tabs */ - --gnome-private-tabbar-tab-hover-background: #343e56; /* Hardcoded color */ - --gnome-private-tabbar-tab-active-background: #343e56; /* Hardcoded color */ - --gnome-private-tabbar-tab-active-background-contrast: #495675; /* Hardcoded color */ - --gnome-private-tabbar-tab-active-hover-background: #414a61; /* Hardcoded color */ - --gnome-private-inactive-tabbar-tab-hover-background: #242c3f; /* Hardcoded color */ - --gnome-private-inactive-tabbar-tab-active-background: #272e41; /* Hardcoded color */ + /* Toolbars */ + --gnome-private-toolbar-background: #1c2438; + --gnome-private-inactive-toolbar-background: var( + --gnome-private-toolbar-background + ); + /* Menus */ + --gnome-private-menu-background: #252f49; + /* Header bar */ + --gnome-private-headerbar-background: #252f49; + --gnome-private-inactive-headerbar-background: var( + --gnome-private-toolbar-background + ); + /* Tabs */ + --gnome-private-tabbar-tab-hover-background: #343e56; /* Hardcoded color */ + --gnome-private-tabbar-tab-active-background: #343e56; /* Hardcoded color */ + --gnome-private-tabbar-tab-active-background-contrast: #495675; /* Hardcoded color */ + --gnome-private-tabbar-tab-active-hover-background: #414a61; /* Hardcoded color */ + --gnome-private-inactive-tabbar-tab-hover-background: #242c3f; /* Hardcoded color */ + --gnome-private-inactive-tabbar-tab-active-background: #272e41; /* Hardcoded color */ - /* Text color for Firefox Logo in new private tab */ - --gnome-private-wordmark: #FBFBFE; + /* Text color for Firefox Logo in new private tab */ + --gnome-private-wordmark: #fbfbfe; - /* New private tab background */ - --gnome-private-in-content-page-background: #1C2438; + /* New private tab background */ + --gnome-private-in-content-page-background: #1c2438; - /* Private browsing info box */ - --gnome-private-text-primary-color: #FBFBFE; - } + /* Private browsing info box */ + --gnome-private-text-primary-color: #fbfbfe; + } } diff --git a/home-manager/firefox.nix b/home-manager/firefox.nix index d63f9f3..7a17e98 100644 --- a/home-manager/firefox.nix +++ b/home-manager/firefox.nix @@ -1,6 +1,6 @@ { - pkgs, inputs, + pkgs, ... }: { home.file.".mozilla/firefox/quadradical/chrome/firefox-gnome-theme".source = inputs.firefox-gnome-theme; @@ -10,13 +10,6 @@ enable = true; profiles.quadradical = { isDefault = true; - userChrome = '' - @import "firefox-gnome-theme/userChrome.css"; - @import "nord.css" - ''; - userContent = '' - @import "firefox-gnome-theme/userContent.css"; - ''; search = { force = true; @@ -87,13 +80,14 @@ "eBay".metaData.hidden = true; }; }; - settings = { - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - "svg.context-properties.content.enabled" = true; - "browser.uidensity" = 0; - "browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"downloads-button\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\"],\"currentVersion\":19}"; - "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; - }; + + userChrome = '' + @import "firefox-gnome-theme/userChrome.css"; + @import "nord.css" + ''; + userContent = '' + @import "firefox-gnome-theme/userContent.css"; + ''; }; }; } diff --git a/modules/common-desktop/firefox.nix b/modules/common-desktop/firefox.nix new file mode 100644 index 0000000..099c40e --- /dev/null +++ b/modules/common-desktop/firefox.nix @@ -0,0 +1,106 @@ +{lib, ...}: { + programs.firefox = { + enable = true; + + policies = { + ShowHomeButton = false; + + DisablePocket = true; + DisableTelemetry = true; + DisableFirefoxStudies = true; + DisableFirefoxScreenshots = true; + DisableSetDesktopBackground = true; + DisableMasterPasswordCreation = true; + + DontCheckDefaultBrowser = true; + + HttpsOnlyMode = "force_enabled"; + + DisplayMenuBar = "never"; + DisplayBookmarksToolbar = "never"; + + DNSOverHTTPS.Enabled = false; + + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + + FirefoxHome = { + TopSites = true; + SponsoredTopSites = false; + + Pocket = false; + Snippets = false; + Highlights = false; + Locked = true; + }; + + FirefoxSuggest = { + WebSuggestions = false; + SponsoredSuggestions = false; + ImproveSuggest = false; + Locked = true; + }; + + ExtensionSettings = lib.mkForce (lib.listToAttrs (lib.map (id: { + name = id; + value = { + install_url = "https://addons.mozilla.org/en-US/firefox/downloads/latest/${id}/latest.xpi"; + installation_mode = "force_installed"; + }; + }) [ + "historyblock@kain" + "uBlock0@raymondhill.net" + "sponsorBlocker@ajay.app" + "jid1-MnnxcxisBPnSXQ@jetpack" # Privacy Badger + "frankerfacez@frankerfacez.com" + "7esoorv3@alefvanoon.anonaddy.me" # LibRedirect + "{4ce83447-8255-43c2-b8f7-e02eb8c2cc39}" # Draw on Page + "{ac34afe8-3a2e-4201-b745-346c0cf6ec7d}" # Better Youtube Shorts + "{2327d818-55d3-441d-aea2-8b44aa2cb9aa}" # Toggle Website Colors + "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}" # User-Agent Switcher and Manager + "enhancerforyoutube@maximerf.addons.mozilla.org" + ])); + + # Have to disable search engines for now because mozilla stupidly only supports it on ESR... + + # SearchEngines = { + # Default = "DuckDuckGo"; + # Remove = ["Bing" "Google" "Amazon.ca" "eBay"]; + # Add = [ + # { + # Name = "Nix Package Search"; + # URLTemplate = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}"; + # IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg"; + # Alias = "np"; + # } + # { + # Name = "NixOS Option Search"; + # URLTemplate = "https://search.nixos.org/options?channel=unstable&query={searchTerms}"; + # IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg"; + # Alias = "no"; + # } + # { + # Name = "NixOS Wiki"; + # URLTemplate = "https://nixos.wiki/index.php?search={searchTerms}"; + # IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg"; + # Alias = "nw"; + # } + # { + # Name = "Home Manager Option Search"; + # URLTemplate = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}"; + # IconURL = "https://github.com/NixOS/nixos-artwork/raw/refs/heads/master/logo/nix-snowflake-white.svg"; + # Alias = "hm"; + # } + # ]; + # }; + + Preferences = { + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + }; + }; + }; +}