refactor: abstracting out bookmark info

This commit is contained in:
Nick 2025-07-07 20:34:31 -05:00
parent 532f798bd0
commit 480a6f4775
2 changed files with 69 additions and 65 deletions

View file

@ -84,5 +84,26 @@ in
]; ];
keyword = "Hack"; keyword = "Hack";
} }
{
name = "Elm-Land Server";
url = "http://localhost:1234";
tags = [
"elm-land"
"elm"
"land"
];
keyword = "Website";
}
{
name = "Namecheap";
url = "https://www.namecheap.com";
tags = [
"namecheap"
"name"
"cheap"
"dns"
];
keyword = "Name";
}
]; ];
} }

View file

@ -22,77 +22,60 @@ let
keyword = instances.${name}.short; keyword = instances.${name}.short;
}) (builtins.map (service: instances.${service}.name) services); }) (builtins.map (service: instances.${service}.name) services);
bookmarkConfigs = [ bookmarkConfigs =
{ let
suffix = "(Remote)"; port = name: toString instances.${name}.ports.port0;
urlTemplate = name: "https://${instances.${name}.domains.url0}"; in
services = [ [
"audiobookshelf" {
"forgejo" suffix = "(Remote)";
"glance" urlTemplate = name: "https://${instances.${name}.domains.url0}";
"jellyfin" services = [
"mastodon" "audiobookshelf"
"ollama" "forgejo"
"opencloud" "glance"
"owncast" "jellyfin"
"peertube" "mastodon"
"searx" "ollama"
"vaultwarden" "opencloud"
]; "owncast"
} "peertube"
{ "searx"
suffix = "(Desktop)"; "vaultwarden"
urlTemplate = name: "http://${mars.ip.address0}:${toString instances.${name}.ports.port0}"; ];
services = [ }
"ollama" {
"syncthing" suffix = "(Desktop)";
]; urlTemplate = "http://${mars.ip.address0}:${port}";
} services = [
{ "ollama"
suffix = "(Server)"; "syncthing"
urlTemplate = name: "http://${ceres.ip.address0}:${toString instances.${name}.ports.port0}"; ];
services = [ }
"jellyfin" {
]; suffix = "(Server)";
} urlTemplate = "http://${ceres.ip.address0}:${port}";
{ services = [
suffix = "(Synology)"; "jellyfin"
urlTemplate = name: "http://${synology.ip.address0}:${toString instances.${name}.ports.port0}"; ];
services = [ }
"syncthing" {
]; suffix = "(Synology)";
} urlTemplate = "http://${synology.ip.address0}:${port}";
]; services = [
"syncthing"
];
}
];
generatedBookmarks = builtins.concatLists (builtins.map makeBookmarks bookmarkConfigs); generatedBookmarks = builtins.concatLists (builtins.map makeBookmarks bookmarkConfigs);
flatBookmarks = [ flatBookmarks = [
{ {
name = "Elm-Land Server"; name = instances.web.label;
url = "http://localhost:1234";
tags = [
"elm-land"
"elm"
"land"
];
keyword = "Website";
}
{
name = "Namecheap";
url = "https://www.namecheap.com";
tags = [
"namecheap"
"name"
"cheap"
"dns"
];
keyword = "Name";
}
{
name = "Router";
url = "http://${instances.web.localhost.address2}"; url = "http://${instances.web.localhost.address2}";
tags = [ ]; tags = instances.web.tags;
keyword = "Router"; keyword = instances.web.label;
} }
]; ];
in in