firefox: migrate search config to v7

This commit is contained in:
Kira Bruneau 2025-02-21 00:43:28 -05:00 committed by Austin Horstman
parent b597601774
commit c1dc900a1a
6 changed files with 387 additions and 68 deletions

View file

@ -21,6 +21,84 @@ in {
profiles = {
search = {
id = 0;
search = {
force = true;
default = "google";
privateDefault = "ddg";
order = [ "nix-packages" "nixos-wiki" ];
engines = {
nix-packages = {
name = "Nix Packages";
urls = [{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}];
icon =
"/run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
nixos-wiki = {
name = "NixOS Wiki";
urls = [{
template =
"https://wiki.nixos.org/index.php?search={searchTerms}";
}];
iconUpdateURL = "https://wiki.nixos.org/favicon.png";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@nw" ];
};
bing.metaData.hidden = true;
google.metaData.alias = "@g";
};
};
};
searchWithoutDefault = {
id = 1;
search = {
force = true;
order = [ "google" "nix-packages" ];
engines = {
nix-packages = {
name = "Nix Packages";
urls = [{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}];
definedAliases = [ "@np" ];
};
};
};
};
migrateSearchV7 = {
id = 2;
search = {
force = true;
default = "Google";
@ -53,7 +131,7 @@ in {
template =
"https://wiki.nixos.org/index.php?search={searchTerms}";
}];
iconUpdateURL = "https://wiki.nixos.org/favicon.png";
iconUpdateURL = "https://wiki.nixos.org/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000;
definedAliases = [ "@nw" ];
};
@ -64,32 +142,6 @@ in {
};
};
searchWithoutDefault = {
id = 1;
search = {
force = true;
order = [ "Google" "Nix Packages" ];
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}];
definedAliases = [ "@np" ];
};
};
};
};
};
} // {
nmt.script = let
@ -106,8 +158,8 @@ in {
f
end;
walk(if type == "object" then
if has("hash") then .hash = null else . end |
if has("privateHash") then .privateHash = null else . end
if has("defaultEngineIdHash") then .defaultEngineIdHash = "@hash@" else . end |
if has("privateDefaultEngineIdHash") then .privateDefaultEngineIdHash = "@privateHash@" else . end
else
.
end)' '';
@ -131,6 +183,10 @@ in {
assertFirefoxSearchContent \
home-files/${cfg.configPath}/searchWithoutDefault/search.json.mozlz4 \
${withName ./expected-search-without-default.json}
assertFirefoxSearchContent \
home-files/${cfg.configPath}/migrateSearchV7/search.json.mozlz4 \
${withName ./expected-migrate-search-v7.json}
'';
});
}

View file

@ -0,0 +1,79 @@
{
"engines": [
{
"_definedAliases": [
"@np"
],
"_iconURL": "file:///run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg",
"_isAppProvided": false,
"_loadPath": "[home-manager]/programs.librewolf.profiles.migrateSearchV7.search.engines.\"Nix Packages\"",
"_metaData": {
"order": 1
},
"_name": "Nix Packages",
"_urls": [
{
"params": [
{
"name": "type",
"value": "packages"
},
{
"name": "query",
"value": "{searchTerms}"
}
],
"template": "https://search.nixos.org/packages"
}
],
"id": "Nix Packages"
},
{
"_definedAliases": [
"@nw"
],
"_iconURL": "https://wiki.nixos.org/favicon.ico",
"_iconUpdateURL": "https://wiki.nixos.org/favicon.ico",
"_isAppProvided": false,
"_loadPath": "[home-manager]/programs.librewolf.profiles.migrateSearchV7.search.engines.\"NixOS Wiki\"",
"_metaData": {
"order": 2
},
"_name": "NixOS Wiki",
"_updateInterval": 86400000,
"_urls": [
{
"template": "https://wiki.nixos.org/index.php?search={searchTerms}"
}
],
"id": "NixOS Wiki"
},
{
"_isAppProvided": true,
"_metaData": {
"hidden": true
},
"id": "bing"
},
{
"_isAppProvided": true,
"_metaData": {},
"id": "ddg"
},
{
"_isAppProvided": true,
"_metaData": {
"alias": "@g"
},
"id": "google"
}
],
"metaData": {
"defaultEngineId": "google",
"defaultEngineIdHash": "@hash@",
"privateDefaultEngineId": "ddg",
"privateDefaultEngineIdHash": "@privateHash@",
"useSavedOrder": true
},
"version": 7
}

View file

@ -5,14 +5,14 @@
"_metaData": {
"order": 1
},
"_name": "Google"
"id": "google"
},
{
"_definedAliases": [
"@np"
],
"_isAppProvided": false,
"_loadPath": "[home-manager]/programs.@name@.profiles.searchWithoutDefault.search.engines.\"Nix Packages\"",
"_loadPath": "[home-manager]/programs.@name@.profiles.searchWithoutDefault.search.engines.nix-packages",
"_metaData": {
"order": 2
},
@ -31,11 +31,12 @@
],
"template": "https://search.nixos.org/packages"
}
]
],
"id": "nix-packages"
}
],
"metaData": {
"useSavedOrder": true
},
"version": 6
"version": 7
}

View file

@ -6,7 +6,7 @@
],
"_iconURL": "file:///run/current-system/sw/share/icons/hicolor/scalable/apps/nix-snowflake.svg",
"_isAppProvided": false,
"_loadPath": "[home-manager]/programs.@name@.profiles.search.search.engines.\"Nix Packages\"",
"_loadPath": "[home-manager]/programs.@name@.profiles.search.search.engines.nix-packages",
"_metaData": {
"order": 1
},
@ -25,7 +25,8 @@
],
"template": "https://search.nixos.org/packages"
}
]
],
"id": "nix-packages"
},
{
"_definedAliases": [
@ -34,7 +35,7 @@
"_iconURL": "https://wiki.nixos.org/favicon.png",
"_iconUpdateURL": "https://wiki.nixos.org/favicon.png",
"_isAppProvided": false,
"_loadPath": "[home-manager]/programs.@name@.profiles.search.search.engines.\"NixOS Wiki\"",
"_loadPath": "[home-manager]/programs.@name@.profiles.search.search.engines.nixos-wiki",
"_metaData": {
"order": 2
},
@ -44,34 +45,35 @@
{
"template": "https://wiki.nixos.org/index.php?search={searchTerms}"
}
]
],
"id": "nixos-wiki"
},
{
"_isAppProvided": true,
"_metaData": {
"hidden": true
},
"_name": "Bing"
"id": "bing"
},
{
"_isAppProvided": true,
"_metaData": {},
"_name": "DuckDuckGo"
"id": "ddg"
},
{
"_isAppProvided": true,
"_metaData": {
"alias": "@g"
},
"_name": "Google"
"id": "google"
}
],
"metaData": {
"current": "Google",
"hash": null,
"private": "DuckDuckGo",
"privateHash": null,
"defaultEngineId": "google",
"defaultEngineIdHash": "@hash@",
"privateDefaultEngineId": "ddg",
"privateDefaultEngineIdHash": "@privateHash@",
"useSavedOrder": true
},
"version": 6
"version": 7
}

View file

@ -30,11 +30,11 @@ in {
};
search = {
force = true;
default = "Google";
privateDefault = "DuckDuckGo";
default = "google";
privateDefault = "ddg";
engines = {
"Bing".metaData.hidden = true;
"Google".metaData.alias = "@g";
bing.metaData.hidden = true;
google.metaData.alias = "@g";
};
};
settings = {