firefox: allow separators in bookmarks (#7284)

Allow users to create separators in their Firefox bookmarks.

Co-authored-by: xaltsc <hey@xaltsc.dev>
This commit is contained in:
xaltsc 2025-06-16 22:51:11 +02:00 committed by GitHub
parent 1db3cb415d
commit 0edffd088e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 18 additions and 2 deletions

View file

@ -50,6 +50,8 @@ rec {
bookmarkType = types.addCheck bookmarkSubmodule (x: x ? "url");
separatorType = types.enum [ "separator" ];
directoryType =
types.submodule (
{ name, ... }:
@ -83,5 +85,9 @@ rec {
description = "directory submodule";
};
nodeType = types.either bookmarkType directoryType;
nodeType = types.oneOf [
bookmarkType
directoryType
separatorType
];
}

View file

@ -45,9 +45,16 @@ let
${allItemsToHTML (indentLevel + 1) directory.bookmarks}
${indent indentLevel}</DL><p>'';
separatorToHTML = indentLevel: "${indent indentLevel}<HR>";
itemToHTMLOrRecurse =
indentLevel: item:
if item ? "url" then bookmarkToHTML indentLevel item else directoryToHTML indentLevel item;
if item ? "url" then
bookmarkToHTML indentLevel item
else if item == "separator" then
separatorToHTML indentLevel
else
directoryToHTML indentLevel item;
allItemsToHTML =
indentLevel: bookmarks: lib.concatStringsSep "\n" (map (itemToHTMLOrRecurse indentLevel) bookmarks);
@ -106,6 +113,7 @@ in
name = "kernel.org";
url = "https://www.kernel.org";
}
"separator"
{
name = "Nix sites";
toolbar = true;