2024-11-09 16:44:23 -06:00
|
|
|
{flake, ...}: let
|
2024-11-10 01:29:37 -06:00
|
|
|
configPath = ./config;
|
2025-01-08 19:06:14 -06:00
|
|
|
flakedPath = configPath + /flake;
|
2024-11-10 01:29:37 -06:00
|
|
|
|
|
|
|
filterFiles = name: builtins.match ".*\\.nix$" name != null;
|
|
|
|
|
|
|
|
regularBookmarks = let
|
|
|
|
files = builtins.attrNames (builtins.readDir configPath);
|
|
|
|
in
|
2024-11-09 16:44:23 -06:00
|
|
|
builtins.foldl' (
|
2024-11-10 01:29:37 -06:00
|
|
|
emptyList: bookmarkFile:
|
|
|
|
emptyList ++ (import (configPath + "/${bookmarkFile}")).bookmarks
|
|
|
|
) [] (builtins.filter filterFiles files);
|
|
|
|
|
|
|
|
flakedBookmarks = let
|
|
|
|
files = builtins.attrNames (builtins.readDir flakedPath);
|
|
|
|
in
|
|
|
|
builtins.foldl' (
|
|
|
|
emptyList: bookmarkFile:
|
2025-01-08 19:06:14 -06:00
|
|
|
emptyList
|
|
|
|
++ (import (flakedPath + "/${bookmarkFile}") {
|
|
|
|
inherit
|
|
|
|
flake
|
|
|
|
;
|
|
|
|
})
|
|
|
|
.bookmarks
|
2024-11-10 01:29:37 -06:00
|
|
|
) [] (builtins.filter filterFiles files);
|
|
|
|
|
|
|
|
aggregatedBookmarks = regularBookmarks ++ flakedBookmarks;
|
2024-11-09 16:44:23 -06:00
|
|
|
in {
|
|
|
|
bookmarks = aggregatedBookmarks;
|
|
|
|
}
|