diff --git a/modules/server/containers/apps/homepage.nix b/modules/server/containers/apps/homepage.nix index 70b2574..2bb79ba 100644 --- a/modules/server/containers/apps/homepage.nix +++ b/modules/server/containers/apps/homepage.nix @@ -7,8 +7,6 @@ let title = "My Self-Hosted Dashboard"; base = ""; theme = "dark"; - - # Nested structures transfer natively to YAML blocks # layout = { # Infrastructure = { # style = "grid"; @@ -16,6 +14,24 @@ let # }; # }; }; + + services = pkgs.writers.writeYAML "services.yaml" { + media = [] + ++ (if (serverCfg.containers.jellyfin) then [{ + icon = "jellyfin.png"; + href = "https://${serverCfg.containers.jellyfin.subdomain}.${serverCfg.domain}"; + }] else []); + dev = [] + ++ (if (serverCfg.containers.gitea) then [{ + icon = "gitea.png"; + href = "https://${serverCfg.containers.gitea.subdomain}.${serverCfg.domain}"; + }] else []); + cloud = [] + ++ (if (serverCfg.containers.nextcloud) then [{ + icon = "nextcloud.png"; + href = "https://${serverCfg.containers.nextcloud.subdomain}.${serverCfg.domain}"; + }] else []); + }; in { sops = false; db = false; @@ -26,6 +42,8 @@ in { image = "ghcr.io/gethomepage/homepage:${version}"; port = 3000; extraEnv = { + HOMEPAGE_VAR_TITLE="${serverCfg.domain}"; + HOMEPAGE_VAR_THEME= HOMEPAGE_ALLOWED_HOSTS = "${containerCfg.subdomain}.${serverCfg.domain},${builder.host}"; }; extraLabels = { @@ -34,6 +52,7 @@ in { overrides = { volumes = [ "${settings}:/app/config/settings.yaml:ro" + "${services}:/app/config/services.yaml:ro" ]; }; };