124 lines
3.3 KiB
Nix
124 lines
3.3 KiB
Nix
modulePath:
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
|
|
cfg = lib.getAttrFromPath modulePath config;
|
|
|
|
firefoxMockOverlay = import ../../setup-firefox-mock-overlay.nix modulePath;
|
|
|
|
darwinPath = "Applications/${cfg.darwinAppName}.app/Contents/Resources";
|
|
in
|
|
{
|
|
imports = [ firefoxMockOverlay ];
|
|
|
|
config = lib.mkIf config.test.enableBig (
|
|
{
|
|
# Required for bookmark policy to get set
|
|
home.stateVersion = "19.09";
|
|
}
|
|
// lib.setAttrByPath modulePath {
|
|
enable = true;
|
|
profiles.bookmarks = {
|
|
settings = {
|
|
"general.smoothScroll" = false;
|
|
};
|
|
bookmarks = {
|
|
force = true;
|
|
settings = [
|
|
{
|
|
toolbar = true;
|
|
bookmarks = [
|
|
{
|
|
name = "Home Manager";
|
|
url = "https://wiki.nixos.org/wiki/Home_Manager";
|
|
}
|
|
];
|
|
}
|
|
{
|
|
name = "kernel.org";
|
|
url = "https://www.kernel.org";
|
|
}
|
|
"separator"
|
|
{
|
|
name = "Nix sites";
|
|
bookmarks = [
|
|
{
|
|
name = "homepage";
|
|
url = "https://nixos.org/";
|
|
}
|
|
{
|
|
name = "wiki";
|
|
tags = [
|
|
"wiki"
|
|
"nix"
|
|
];
|
|
url = "https://wiki.nixos.org/";
|
|
}
|
|
{
|
|
name = "Nix sites";
|
|
bookmarks = [
|
|
{
|
|
name = "homepage";
|
|
url = "https://nixos.org/";
|
|
}
|
|
{
|
|
name = "wiki";
|
|
url = "https://wiki.nixos.org/";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
}
|
|
{
|
|
name = "wikipedia";
|
|
tags = [ "wiki" ];
|
|
keyword = "wiki";
|
|
url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
}
|
|
// {
|
|
nmt.script =
|
|
let
|
|
libDir =
|
|
if pkgs.stdenv.hostPlatform.isDarwin then
|
|
"${cfg.finalPackage}/${darwinPath}"
|
|
else
|
|
"${cfg.finalPackage}/lib/${cfg.wrappedPackageName}";
|
|
config_file = "${libDir}/distribution/policies.json";
|
|
in
|
|
''
|
|
assertFileExists "${config_file}"
|
|
|
|
noDefaultBookmarks_actual_value="$(${lib.getExe pkgs.jq} ".policies.NoDefaultBookmarks" ${config_file})"
|
|
|
|
if [[ $noDefaultBookmarks_actual_value != "false" ]]; then
|
|
fail "Expected '${config_file}' to set 'policies.NoDefaultBookmarks' to false"
|
|
fi
|
|
|
|
bookmarksUserJs=$(normalizeStorePaths \
|
|
"home-files/${cfg.profilesPath}/bookmarks/user.js")
|
|
|
|
assertFileContent \
|
|
$bookmarksUserJs \
|
|
${./expected-bookmarks-user.js}
|
|
|
|
bookmarksFile="$(sed -n \
|
|
'/browser.bookmarks.file/ {s|^.*\(/nix/store[^"]*\).*|\1|;p}' \
|
|
"$TESTED/home-files/${cfg.profilesPath}/bookmarks/user.js")"
|
|
|
|
assertFileContent \
|
|
$bookmarksFile \
|
|
${./expected-bookmarks-list.html}
|
|
'';
|
|
}
|
|
);
|
|
}
|