Files
server-config/configuration/homepage.nix
2026-05-14 13:39:10 +02:00

101 lines
2.5 KiB
Nix

{ config, ... }:
{
services.homepage-dashboard = {
enable = true;
services = [
{
"Filesharing" = [
{
"Nextcloud" = {
icon = "nextcloud.png";
description = "Nextcloud";
href = "https://${config.services.nextcloud.hostName}/";
widget = {
type = "nextcloud";
url = "https://${config.services.nextcloud.hostName}/";
key = "d8287cef8704255787c7207de873c478";
};
};
}
{
"Syncthing" = {
icon = "syncthing.png";
href = "https://syncthing.${config.domainName}/";
};
}
];
}
{
"Communication" = [
{
"Matrix" = {
icon = "matrix-light.png";
href = "https://${config.services.dendrite.settings.global.server_name}";
description = "Matrix Powered Chat";
};
}
{
"Teamspeak" = {
icon = "teamspeak.png";
description = "connect to ${config.domainName}";
};
}
];
}
{
"Games" = [
{
"Factorio" = {
icon = "https://wiki.factorio.com/images/Factorio-logo.png";
description = "connect to ${config.domainName}";
};
}
];
}
{
"Development" = [
{
"Gitea Server" = {
icon = "gitea.png";
href = "https://git.${config.domainName}";
widget = {
type = "gitea";
url = "https://git.${config.domainName}";
key = "23a6cc9ffd664d9ba815c9c0ab6beb42c13578b2";
};
};
}
];
}
{
"FoundryVTT Server" = [
{
"Mitchs Keller" = {
icon = "https://r2.foundryvtt.com/website-static-public/assets/icons/fvtt.png";
href = "https://mitchskeller.${config.domainName}";
};
}
{
"Inferno" = {
icon = "https://r2.foundryvtt.com/website-static-public/assets/icons/fvtt.png";
href = "https://inferno.${config.domainName}";
};
}
{
"Nixland" = {
icon = "https://r2.foundryvtt.com/website-static-public/assets/icons/fvtt.png";
href = "https://nixland.${config.domainName}";
};
}
];
}
];
};
services.nginx.virtualHosts."${config.domainName}" = {
useACMEHost = config.domainName;
addSSL = true;
locations."/".proxyPass = "http://localhost:${toString config.services.homepage-dashboard.listenPort}";
};
}