diff --git a/user/firefox.nix b/user/firefox.nix index 5c6fe67..48c4fc9 100644 --- a/user/firefox.nix +++ b/user/firefox.nix @@ -7,12 +7,84 @@ }: let inherit (config.my) desktop browser; + bugfixedFirefox = pkgs.firefox-devedition-unwrapped // { + requireSigning = false; + allowAddonSideload = true; + }; in { config = { programs.firefox = { enable = true; - package = pkgs.firefox-devedition; + package = pkgs.wrapFirefox bugfixedFirefox { + nixExtensions = [ + (pkgs.fetchFirefoxAddon { + name = "darkreader"; + url = "https://addons.mozilla.org/firefox/downloads/file/4205543/darkreader-4.9.73.xpi"; + hash = "sha256-fDmf8yVhiGu4Da0Mr6+PYpeSsLcf8e/PEmZ+BaKzjxo="; + }) + (pkgs.fetchFirefoxAddon { + name = "sponsorblock"; + url = "https://addons.mozilla.org/firefox/downloads/file/4202411/sponsorblock-5.4.29.xpi"; + hash = "sha256-7Xqc8cyQNylMe5/dgDOx1f2QDVmz3JshDlTueu6AcSg="; + }) + (pkgs.fetchFirefoxAddon { + name = "tree-style-tab"; + url = "https://addons.mozilla.org/firefox/downloads/file/4197314/tree_style_tab-3.9.19.xpi"; + hash = "sha256-u2f0elVPj5N/QXa+5hRJResPJAYwuT9z0s/0nwmFtVo="; + }) + (pkgs.fetchFirefoxAddon { + name = "ublock-origin"; + url = "https://addons.mozilla.org/firefox/downloads/file/4290466/ublock_origin-1.58.0.xpi"; + hash = "sha256-RwxWmUpxdNshV4rc5ZixWKXcCXDIfFz+iJrGMr0wheo="; + }) + (pkgs.fetchFirefoxAddon { + name = "user_agent_string_switcher"; + url = "https://addons.mozilla.org/firefox/downloads/file/4098688/user_agent_string_switcher-0.5.0.xpi"; + hash = "sha256-ncjaPIxG1PBNEv14nGNQH6ai9QL4WbKGk5oJDbY+rjM="; + }) + + (pkgs.fetchFirefoxAddon { + name = "i-still-dont-care-about-cookies"; + url = "https://github.com/OhMyGuus/I-Still-Dont-Care-About-Cookies/releases/download/v1.1.4/istilldontcareaboutcookies-1.1.4.xpi"; + hash = "sha256-yt6yRiLTuaK4K/QwgkL9gCVGsSa7ndFOHqZvKqIGZ5U="; + }) + + (pkgs.fetchFirefoxAddon { + name = "vimium_ff"; + url = "https://addons.mozilla.org/firefox/downloads/file/4191523/vimium_ff-2.0.6.xpi"; + hash = "sha256-lKLX6IWWtliRdH1Ig33rVEB4DVfbeuMw0dfUPV/mSSI="; + }) + (pkgs.fetchFirefoxAddon { + name = "invidious_redirect"; + url = "https://addons.mozilla.org/firefox/downloads/file/4292924/invidious_redirect_2-1.16.xpi"; + hash = "sha256-ApCc+MNmW9Wd/5seV6npePQVEaszT/rhD9EB7HGiUb8="; + }) + + (pkgs.fetchFirefoxAddon { + name = "mastodon_simplified_federation"; + url = "https://addons.mozilla.org/firefox/downloads/file/4215691/mastodon_simplified_federation-2.2.xpi"; + hash = "sha256-4iU25chpjsdsMTPaa0yQOTWc9V9q1qFz6YV0lYtNjLA="; + }) + (pkgs.fetchFirefoxAddon { + name = "substitoot"; + url = "https://addons.mozilla.org/firefox/downloads/file/4236602/substitoot-0.7.2.0.xpi"; + hash = "sha256-1auSqEjkebwRSbmAVUsYwy77dl7TQCOnqgozpoVnqgI="; + }) + + # Locale + (pkgs.fetchFirefoxAddon { + name = "firefox_br"; + url = "https://addons.mozilla.org/firefox/downloads/file/4144369/firefox_br-115.0.20230726.201356.xpi"; + hash = "sha256-8zkqfdW0lX0b62+gAJeq4FFlQ06nXGFAexpH+wg2Cr0="; + }) + (pkgs.fetchFirefoxAddon { + name = "corretor"; + url = "https://addons.mozilla.org/firefox/downloads/file/1176165/corretor-65.2018.12.8.xpi"; + hash = "sha256-/rFQtJHdgemMkGAd+KWuWxVA/BwSIkn6sk0XZE0LrGk="; + }) + ]; + }; profiles = { dev-edition-default = { isDefault = true; @@ -60,37 +132,44 @@ in '' else '' - /* Hide tabs and other items */ + /* Element | chrome://browser/content/browser.xhtml */ + + #navigator-toolbox { + display: grid; + grid-template-columns: 1fr 50px; + overflow: hidden; + } + + /* Element | chrome://browser/content/browser.xhtml */ + + #nav-bar { + flex: 1; + width: 100%; + grid-column: 1 / 3; + grid-row: 1; + z-index: 0; + padding-right: 29px !important; + } + + /* Element | chrome://browser/content/browser.xhtml */ + .toolbar-items { display: none; } - /* Create a horizontal container */ - #navigator-toolbox { - display: grid; - grid-template-columns: 1fr 50px; + /* Element | chrome://browser/content/browser.xhtml */ + + #TabsToolbar { + max-width: 50px; } - /* Make the url bar occupy the entire size of the container */ - #nav-bar { - grid-column: 1 / 3; - grid-row: 1; - z-index: 1; - padding-right: 29px !important; - } + /* Element | chrome://browser/content/browser.xhtml */ - /* shrink the tab bar to a small size, since it's only the window close button basically */ #titlebar { max-width: 50px; grid-area: 1 / 2; z-index: 10; } - - /* Add a nice border to the top of the window */ - #nav-bar { - border-top-left-radius: 10px; - border-top-right-radius: 10px; - } ''; }; }; diff --git a/user/variables.nix b/user/variables.nix index fbcc4cd..cb35123 100644 --- a/user/variables.nix +++ b/user/variables.nix @@ -113,7 +113,7 @@ rec { }; dmenu = "bmenu"; - desktop = "gnome"; + desktop = "sway"; browser = "firefox"; editor = "kakoune"; }