From efdcb47e65f4a9f7115010f5e7ae5eb90dd9913b Mon Sep 17 00:00:00 2001
From: Julien Malka <julien@malka.sh>
Date: Thu, 27 Jul 2023 23:12:59 +0200
Subject: [PATCH] Only server can be colmenaded

---
 flake.nix | 33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/flake.nix b/flake.nix
index 547c0fa..aa0f6a5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -100,14 +100,22 @@
         (lib.importConfig ./machines);
 
 
-      colmena = {
-        meta = {
-          nixpkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
-          nodeNixpkgs = builtins.mapAttrs (name: value: value.pkgs) nixosConfigurations;
-          nodeSpecialArgs = builtins.mapAttrs (name: value: value._module.specialArgs) nixosConfigurations;
-          specialArgs.lib = lib;
-        };
-      } // builtins.mapAttrs (name: value: { imports = value._module.args.modules; }) nixosConfigurations;
+      colmena =
+        let
+          deployableConfigurations = lib.filterAttrs (_: v: builtins.hasAttr "ipv4" lib.luj.machines.${v.config.networking.hostName}) nixosConfigurations;
+        in
+        {
+          meta = {
+            nixpkgs = import inputs.nixpkgs { system = "x86_64-linux"; };
+            nodeNixpkgs = builtins.mapAttrs (_: v: v.pkgs) deployableConfigurations;
+            nodeSpecialArgs = builtins.mapAttrs (_: v: v._module.specialArgs) deployableConfigurations;
+            specialArgs.lib = lib;
+          };
+        } // builtins.mapAttrs
+          (_: v: {
+            imports = v._module.args.modules;
+          })
+          deployableConfigurations;
 
 
       packages = builtins.listToAttrs
@@ -128,13 +136,8 @@
       machines = lib.luj.machines;
 
       hydraJobs = {
-        machines.tower = self.nixosConfigurations.tower.config.system.build.toplevel;
-        machines.lisa = self.nixosConfigurations.lisa.config.system.build.toplevel;
-        machines.macintosh = self.nixosConfigurations.macintosh.config.system.build.toplevel;
-        machines.lambda = self.nixosConfigurations.lambda.config.system.build.toplevel;
-        packages.x86_64-linux = packages.x86_64-linux;
-        packages.aarch64-linux = packages.aarch64-linux;
+        packages = packages;
+        machines = lib.mapAttrs (_: v: v.config.system.build.toplevel) self.nixosConfigurations;
       };
-
     };
 }