Files
Dionisie Stratulat 3b3ff17621 firefox: legacyUserProfileCustomizations when userChrome is present
When a user configures the userChrome option, automatically enable the
`toolkit.legacyUserProfileCustomizations.stylesheets` preference with
`mkDefault` priority so that the user chrome CSS is actually loaded.
The user can still override this in the settings option if needed.
2026-06-25 14:15:06 -05:00

82 lines
2.4 KiB
Nix

modulePath:
{
config,
lib,
pkgs,
...
}:
let
cfg = lib.getAttrFromPath modulePath config;
firefoxMockOverlay = import ../../setup-firefox-mock-overlay.nix modulePath;
in
{
imports = [ firefoxMockOverlay ];
config = lib.mkIf config.test.enableBig (
lib.setAttrByPath modulePath {
enable = true;
profiles = {
basic.isDefault = true;
lines = {
id = 1;
userChrome = builtins.readFile ./chrome/userChrome.css;
};
file = {
id = 2;
userChrome = ./chrome/userChrome.css;
};
derivation-file = {
id = 4;
userChrome = pkgs.writeText "userChrome.css" (builtins.readFile ./chrome/userChrome.css);
};
legacyUserPrCuSt-Disabled = {
id = 5;
userChrome = pkgs.writeText "userChrome.css" (builtins.readFile ./chrome/userChrome.css);
settings."toolkit.legacyUserProfileCustomizations.stylesheets" = false;
};
};
}
// {
nmt.script =
let
binPath =
if pkgs.stdenv.hostPlatform.isDarwin then
"Applications/${cfg.darwinAppName}.app/Contents/MacOS"
else
"bin";
in
''
assertFileRegex \
"home-path/${binPath}/${cfg.finalPackage.meta.mainProgram}" \
MOZ_APP_LAUNCHER
assertDirectoryExists "home-files/${cfg.profilesPath}/basic"
assertFileContent \
"home-files/${cfg.profilesPath}/lines/chrome/userChrome.css" \
${./chrome/userChrome.css}
assertFileContent \
"home-files/${cfg.profilesPath}/file/chrome/userChrome.css" \
${./chrome/userChrome.css}
assertPathNotExists \
"home-files/${cfg.profilesPath}/derivation-file/chrome/extraFile.css"
assertFileContent \
"home-files/${cfg.profilesPath}/derivation-file/chrome/userChrome.css" \
${./chrome/userChrome.css}
assertFileContains \
"home-files/${cfg.profilesPath}/lines/user.js" \
'user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);'
assertFileContains \
"home-files/${cfg.profilesPath}/legacyUserPrCuSt-Disabled/user.js" \
'user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", false);'
'';
}
);
}