{ config, lib, pkgs, modulePath, }: let inherit (lib) escapeXML concatStringsSep mkOption maintainers types literalExpression ; inherit (bookmarkTypes) settingsType; bookmarkTypes = import ./bookmark-types.nix { inherit lib; }; bookmarksFile = bookmarks: let indent = level: lib.concatStringsSep "" (map (lib.const " ") (lib.range 1 level)); bookmarkToHTML = indentLevel: bookmark: ''${indent indentLevel}
${allItemsToHTML (indentLevel + 1) directory.bookmarks} ${indent indentLevel}
''; itemToHTMLOrRecurse = indentLevel: item: if item ? "url" then bookmarkToHTML indentLevel item else directoryToHTML indentLevel item; allItemsToHTML = indentLevel: bookmarks: lib.concatStringsSep "\n" (map (itemToHTMLOrRecurse indentLevel) bookmarks); bookmarkEntries = allItemsToHTML 1 bookmarks; in pkgs.writeText "bookmarks.html" ''
${bookmarkEntries}