nix-config/modules/homepage/default.nix
2025-10-17 11:05:12 +02:00

183 lines
3.8 KiB
Nix

{
services.homepage-dashboard = {
enable = true;
listenPort = 9001;
allowedHosts = "home.dnsc.io";
settings = {
theme = "dark";
maxBookmarkGroupColumns = 2;
headerStyle = "boxedWidgets";
background = {
image = "https://i.ibb.co/v6FjzW5V/winter.png";
opacity = 40;
brightness = 50;
};
};
widgets = [
{
resources = {
cpu = true;
cputemp = true;
units = "metric";
};
}
{
resources = {
memory = true;
uptime = true;
network = true;
};
}
];
services = [
{
"VPS" = [
{
"Vaultwarden" = {
href = "https://vault.dnsc.io";
icon = "vaultwarden.png";
};
}
{
"Uptime Kuma" = {
href = "https://uptime.dnsc.io";
icon = "uptime-kuma.png";
};
}
{
"Actual" = {
href = "https://finance.dnsc.io";
icon = "actual-budget.png";
};
}
{
"Slides" = {
href = "https://slides.dnsc.io";
icon = "slidev.png";
};
}
{
"Homepage" = {
href = "https://dnsc.io";
icon = "html.png";
};
}
];
}
{
"Homelab" = [
{
"Jellyfin" = {
href = "http://100.103.199.4:8096";
icon = "jellyfin.png";
};
}
{
"Syncthing" = {
href = "http://100.103.199.4:8384";
icon = "syncthing.png";
};
}
];
}
];
bookmarks = [
{
Hosting = [
{
Porkbun = [
{
abbr = "PB";
href = "https://porkbun.com/account/domainsSpeedy";
}
];
}
{
Hetzner = [
{
abbr = "HZ";
href = "https://console.hetzner.com/projects/1355757/dashboard";
}
];
}
{
Tailscale = [
{
abbr = "TS";
href = "https://login.tailscale.com/admin/machines";
}
];
}
];
}
{
Apps = [
{
Fastmail = [
{
abbr = "FM";
href = "https://app.fastmail.com";
}
];
}
{
YNAB = [
{
abbr = "YN";
href = "https://app.ynab.com";
}
];
}
];
}
{
Dev = [
{
Codeberg = [
{
abbr = "CB";
href = "https://codeberg.org";
}
];
}
{
Github = [
{
abbr = "GH";
href = "https://github.com/dennisschoepf";
}
];
}
];
}
{
Entertainment = [
{
YouTube = [
{
abbr = "YT";
href = "https://youtube.com/feed/subscriptions";
}
];
}
{
Twitch = [
{
abbr = "TW";
href = "https://www.twitch.tv/directory/following";
}
];
}
{
Overcast = [
{
abbr = "OC";
href = "https://overcast.fm";
}
];
}
];
}
];
};
}