Compare commits
No commits in common. "fdf14765fd8bf4efd3031d7e17fd6e272ab33d1a" and "53bce23a05b974de409f31ab033de1117f89ed44" have entirely different histories.
fdf14765fd
...
53bce23a05
3 changed files with 19 additions and 33 deletions
|
|
@ -87,15 +87,6 @@
|
||||||
flatpak = {
|
flatpak = {
|
||||||
enable = true;
|
enable = true;
|
||||||
packages = [
|
packages = [
|
||||||
### Office & Productivity ###
|
|
||||||
rec {
|
|
||||||
appId = "com.collabora.Office";
|
|
||||||
sha256 = "1im6s8p6wvj2hblr4mhn1g2rry77giccsi6mk76nk8d6bjp1fwa4";
|
|
||||||
bundle = "${pkgs.fetchurl {
|
|
||||||
url = "https://cdn.collaboraoffice.com/collaboraoffice-v25.04.7.2_final.flatpak";
|
|
||||||
inherit sha256;
|
|
||||||
}}";
|
|
||||||
}
|
|
||||||
### Graphics & Design ###
|
### Graphics & Design ###
|
||||||
"com.boxy_svg.BoxySVG"
|
"com.boxy_svg.BoxySVG"
|
||||||
rec {
|
rec {
|
||||||
|
|
|
||||||
|
|
@ -1,43 +1,48 @@
|
||||||
# Shared service definitions for cross-host configuration
|
# Shared service definitions for cross-host configuration
|
||||||
|
# Used by:
|
||||||
|
# - alexandria: DNS server (LAN) + service hosting (vaultwarden, nextcloud, jellyfin, kanidm)
|
||||||
|
# - trantor: DNS server (Tailnet) + service hosting (forgejo)
|
||||||
{
|
{
|
||||||
# Host IP definitions
|
|
||||||
hosts = {
|
|
||||||
alexandria = {
|
|
||||||
lanIP = "192.168.15.142";
|
|
||||||
tailscaleIP = "100.76.19.50";
|
|
||||||
};
|
|
||||||
trantor = {
|
|
||||||
tailscaleIP = "100.108.5.90";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Service definitions - IPs are inherited from host
|
|
||||||
services = [
|
services = [
|
||||||
{
|
{
|
||||||
name = "kanidm";
|
name = "kanidm";
|
||||||
domain = "auth.baduhai.dev";
|
domain = "auth.baduhai.dev";
|
||||||
host = "alexandria";
|
host = "alexandria";
|
||||||
|
lanIP = "192.168.15.142";
|
||||||
|
tailscaleIP = "100.76.19.50";
|
||||||
|
port = 8443;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "vaultwarden";
|
name = "vaultwarden";
|
||||||
domain = "pass.baduhai.dev";
|
domain = "pass.baduhai.dev";
|
||||||
host = "alexandria";
|
host = "alexandria";
|
||||||
|
lanIP = "192.168.15.142";
|
||||||
|
tailscaleIP = "100.76.19.50";
|
||||||
|
port = 8222;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "forgejo";
|
name = "forgejo";
|
||||||
domain = "git.baduhai.dev";
|
domain = "git.baduhai.dev";
|
||||||
host = "trantor";
|
host = "trantor";
|
||||||
public = true;
|
public = true;
|
||||||
|
tailscaleIP = "100.108.5.90";
|
||||||
|
port = 3000;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "nextcloud";
|
name = "nextcloud";
|
||||||
domain = "cloud.baduhai.dev";
|
domain = "cloud.baduhai.dev";
|
||||||
host = "alexandria";
|
host = "alexandria";
|
||||||
|
lanIP = "192.168.15.142";
|
||||||
|
tailscaleIP = "100.76.19.50";
|
||||||
|
port = 443;
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "jellyfin";
|
name = "jellyfin";
|
||||||
domain = "jellyfin.baduhai.dev";
|
domain = "jellyfin.baduhai.dev";
|
||||||
host = "alexandria";
|
host = "alexandria";
|
||||||
|
lanIP = "192.168.15.142";
|
||||||
|
tailscaleIP = "100.76.19.50";
|
||||||
|
port = 8096;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
utils.nix
14
utils.nix
|
|
@ -11,21 +11,11 @@ let
|
||||||
|
|
||||||
# Import shared service definitions
|
# Import shared service definitions
|
||||||
sharedServices = import ./shared/services.nix;
|
sharedServices = import ./shared/services.nix;
|
||||||
|
|
||||||
# Enrich services with host IP information
|
|
||||||
enrichedServices = builtins.map (svc:
|
|
||||||
let
|
|
||||||
hostInfo = sharedServices.hosts.${svc.host} or {};
|
|
||||||
in
|
|
||||||
svc // lib.optionalAttrs (hostInfo ? lanIP) { inherit (hostInfo) lanIP; }
|
|
||||||
// lib.optionalAttrs (hostInfo ? tailscaleIP) { inherit (hostInfo) tailscaleIP; }
|
|
||||||
) sharedServices.services;
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
# Re-export enriched services and hosts for use in host configs
|
# Re-export shared services for use in host configs
|
||||||
services = enrichedServices;
|
inherit (sharedServices) services;
|
||||||
inherit (sharedServices) hosts;
|
|
||||||
# Tag-based host configuration system
|
# Tag-based host configuration system
|
||||||
mkHost =
|
mkHost =
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue