librewolf: Use mobile-friendly-firefox styles

This makes LibreWolf work well on the PinePhone without having to
manually use the FriendlyFox installation script.

Note that FriendlyFox was chosen over the mobile-config-firefox script
from postmarketOS due to FriendlyFox having less issues overall, such as
not breaking when the right click menu is long and popup menus having
altered styles for mobile support.
This commit is contained in:
Donovan Glover 2024-08-13 17:13:47 -04:00
parent 5f424194e1
commit f4193012f9
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65

View File

@ -1,5 +1,36 @@
{ pkgs, ... }:
let
friendlyfox = pkgs.stdenvNoCC.mkDerivation (finalAttrs: {
pname = "mobile-friendly-firefox";
version = "2.11.1";
src = pkgs.fetchFromGitea {
domain = "codeberg.org";
owner = "user0";
repo = "Mobile-Friendly-Firefox";
rev = "v${finalAttrs.version}";
hash = "sha256-rA5lnfW5zOyfJ6pbcrsTBEhMEof5h/heGaHxST+q+AY=";
};
patches = [
# Fix for Firefox 127 and later (renamed id)
(pkgs.fetchpatch2 {
url = "https://codeberg.org/user0/Mobile-Friendly-Firefox/commit/bfb7946973bf707d0494714679df47ec66017f97.patch";
hash = "sha256-wJLXgNUUaNHVgCMi8sGnC5cx2yNwZwh2JoDaVMsVehY=";
})
];
installPhase = ''
runHook preInstall
install -Dm644 src/userContent/styles/fenix-colors/userContent.css -t $out
cat src/userChrome/fenix_one.css src/userChrome/dynamic_popups_pro.css > $out/userChrome.css
runHook postInstall
'';
});
in
{
programs.librewolf = {
enable = true;
@ -46,4 +77,9 @@
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
};
};
home.file = {
".librewolf/default/chrome/userChrome.css".source = "${friendlyfox}/userChrome.css";
".librewolf/default/chrome/userContent.css".source = "${friendlyfox}/userContent.css";
};
}