diff --git a/hosts/modules/desktop/desktop.nix b/hosts/modules/desktop/desktop.nix index 55f19da..03ec04b 100644 --- a/hosts/modules/desktop/desktop.nix +++ b/hosts/modules/desktop/desktop.nix @@ -87,15 +87,6 @@ flatpak = { enable = true; 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 ### "com.boxy_svg.BoxySVG" rec { diff --git a/shared/services.nix b/shared/services.nix index 1173b3b..44f9208 100644 --- a/shared/services.nix +++ b/shared/services.nix @@ -1,43 +1,48 @@ # 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 = [ { name = "kanidm"; domain = "auth.baduhai.dev"; host = "alexandria"; + lanIP = "192.168.15.142"; + tailscaleIP = "100.76.19.50"; + port = 8443; } { name = "vaultwarden"; domain = "pass.baduhai.dev"; host = "alexandria"; + lanIP = "192.168.15.142"; + tailscaleIP = "100.76.19.50"; + port = 8222; } { name = "forgejo"; domain = "git.baduhai.dev"; host = "trantor"; public = true; + 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; } ]; } diff --git a/utils.nix b/utils.nix index e65837c..8c20ab9 100644 --- a/utils.nix +++ b/utils.nix @@ -11,21 +11,11 @@ let # Import shared service definitions 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 { - # Re-export enriched services and hosts for use in host configs - services = enrichedServices; - inherit (sharedServices) hosts; + # Re-export shared services for use in host configs + inherit (sharedServices) services; # Tag-based host configuration system mkHost = {