Created centralized service definitions in shared/services.nix to store service metadata (domains, IPs, ports) that need to be accessible across multiple hosts. This replaces the per-service split DNS module approach with a single source of truth. Services are now exported through utils.nix for easy access in host configs.
39 lines
957 B
Nix
39 lines
957 B
Nix
# Shared service definitions for cross-host configuration
|
|
# Used by:
|
|
# - alexandria: DNS server (LAN) + service hosting (vaultwarden, nextcloud, jellyfin)
|
|
# - trantor: DNS server (Tailnet) + service hosting (forgejo)
|
|
{
|
|
services = [
|
|
{
|
|
name = "vaultwarden";
|
|
domain = "vault.baduhai.dev";
|
|
host = "alexandria";
|
|
lanIP = "192.168.15.142";
|
|
tailscaleIP = "100.76.19.50";
|
|
port = 8222;
|
|
}
|
|
{
|
|
name = "forgejo";
|
|
domain = "git.baduhai.dev";
|
|
host = "trantor";
|
|
tailscaleIP = "100.108.5.90";
|
|
port = 3000;
|
|
}
|
|
{
|
|
name = "nextcloud";
|
|
domain = "cloud.baduhai.dev";
|
|
host = "alexandria";
|
|
lanIP = "192.168.15.142";
|
|
tailscaleIP = "100.76.19.50";
|
|
port = 443;
|
|
}
|
|
{
|
|
name = "jellyfin";
|
|
domain = "jellyfin.baduhai.dev";
|
|
host = "alexandria";
|
|
lanIP = "192.168.15.142";
|
|
tailscaleIP = "100.76.19.50";
|
|
port = 8096;
|
|
}
|
|
];
|
|
}
|