nix/hosts/caddy/dashy-settings.nix
2025-03-16 17:54:42 +01:00

172 lines
3.7 KiB
Nix

let
p = import ../parameters.nix;
in
{
appConfig = {
enableFontAwesome = true;
fontAwesomeKey = "e9076c7025";
theme = "thebe";
statusCheck = true;
auth = {
enableOidc = true;
oidc = {
clientId = "FiIJTqBIlMKmeSBjznUFgXIJadt71av8dfICvZvf";
endpoint = "https://auth.pasetto.me/application/o/dashy/";
};
};
webSearch = {
searchEngine = "custom";
customSearchEngine = "https://search.${p.domains.ts}/search?q=";
};
};
pageInfo = {
description = "Pasetto's Homelab";
navLinks = [
{
path = "/";
title = "Home";
}
{
path = "https://gitlab.com/pazpi/nix";
title = "Source Code";
}
];
title = "Homelab? Homepage!";
};
sections = [
{
name = "Widget";
displayData = {
cols = 3;
collapsed = false;
};
widgets = [
{
type = "clock";
options = {
timeZone = "Europe/Rome";
hideSeconds = true;
customCityName = "Borgo Valsugana";
};
}
{ type = "public-ip"; }
# {
# type = "HealthChecks";
# apiKey = "";
# }
# { type = "system-info"; }
{
type = "proxmox-lists";
options = {
cluster_url = "https://bacco.${p.domains.public}";
user_name = "root@pam";
token_name = "dashy2";
token_uuid = "2e63b0df-6be7-46b4-be13-6558ad0be647";
};
}
];
}
{
name = "Public Services";
displayData = {
cols = 1;
collapsed = false;
};
items = [
{
title = "Authentik";
url = "https://auth.${p.domains.public}";
icon = "hl-authentik";
}
{
title = "Nextcloud";
url = "https://cloud.${p.domains.public}";
icon = "hl-nextcloud";
}
{
title = "Vaultwarden";
url = "https://vault.${p.domains.public}";
icon = "hl-vaultwarden";
}
];
}
{
name = "Private Services";
displayData = {
cols = 1;
collapsed = false;
};
items = [
{
title = "Searx";
url = "https://search.${p.domains.ts}";
icon = "hl-searxng";
}
{
title = "Portainer";
url = "https://portainer.${p.domains.public}";
icon = "hl-portainer";
}
];
}
{
name = "Network Services";
displayData = {
cols = 1;
collapsed = false;
};
items = [
{
title = "Primary DNS";
url = "https://${p.hosts.dns01}";
icon = "hl-technitium";
}
{
title = "Seconday DNS";
url = "https://${p.hosts.dns02}";
icon = "hl-technitium";
}
];
}
{
name = "Monitoring Services";
displayData = {
cols = 1;
collapsed = false;
};
items = [
{
title = "Grafana";
url = "https://grafana.${p.domains.ts}";
icon = "hl-grafana";
}
{
title = "Prometheus";
url = "https://prometheus.${p.domains.ts}";
icon = "hl-prometheus";
}
];
}
{
name = "Devices";
displayData = {
cols = 1;
collapsed = false;
};
items = [
{
title = "Bacco";
url = "https://bacco.internal:8006";
icon = "hl-proxmox";
}
{
title = "Node";
url = "https://node.internal:8006";
icon = "hl-proxmox";
}
];
}
];
}