mirror of
https://github.com/nix-community/home-manager.git
synced 2026-10-02 19:49:18 +00:00
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.
82 lines
2.4 KiB
Nix
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);'
|
|
'';
|
|
}
|
|
);
|
|
}
|