{ config, pkgs, lib, font, ... }: let inherit (config.my) desktop browser; in { config = { programs.firefox = { enable = true; package = pkgs.firefox-devedition; profiles = { dev-edition-default = { isDefault = true; search.force = true; search.default = "DuckDuckGo"; settings = { "devtools.theme" = "auto"; "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "browser.tabs.inTitlebar" = if desktop == "sway" then 0 else 1; "sidebar.position_start" = false; # Move sidebar to the right # enable media RDD to allow gpu acceleration "media.rdd-ffmpeg.enabled" = true; "media.rdd-ffvpx.enabled" = true; "media.rdd-opus.enabled" = true; "media.rdd-process.enabled" = true; "media.rdd-retryonfailure.enabled" = true; "media.rdd-theora.enabled" = true; "media.rdd-vorbis.enabled" = true; "media.rdd-vpx.enabled" = true; "media.rdd-wav.enabled" = true; "media.av1.enabled" = true; "media.ffmpeg.vaapi-drm-display.enabled" = true; "media.ffmpeg.vaapi.enabled" = true; "media.ffvpx.enabled" = true; "gfx.webrender.all" = true; # Enable installing non signed extensions "extensions.langpacks.signatures.required" = false; "xpinstall.signatures.required" = false; "browser.aboutConfig.showWarning" = false; # Enable userChrome editor (Ctrl+Shift+Alt+I) "devtools.chrome.enabled" = true; "devtools.debugger.remote-enabled" = true; }; userChrome = if desktop == "sway" then '' #titlebar { display: none !important; } #sidebar-header { display: none !important; } '' else '' /* 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; } /* Element | chrome://browser/content/browser.xhtml */ #TabsToolbar { max-width: 50px; } /* Element | chrome://browser/content/browser.xhtml */ #titlebar { max-width: 50px; grid-area: 1 / 2; z-index: 10; } ''; }; }; }; wayland.windowManager.sway = { extraConfig = '' exec firefox ''; }; home.sessionVariables = { MOZ_ENABLE_WAYLAND = "1"; MOZ_DISABLE_RDD_SANDBOX = "1"; }; }; }