diff --git a/hive.nix b/hive.nix index 666c79d..0055174 100644 --- a/hive.nix +++ b/hive.nix @@ -34,6 +34,7 @@ let system = node: nodes'.${node}.nixpkgs.system; category = node: nixpkgs'.categories.${system node}; + nodePkgs = node: nixpkgs.${system node}.${version node}; # Builds a patched version of nixpkgs, only as the source @@ -83,7 +84,7 @@ let meta = (import ./meta) lib; nodeMeta = meta.nodes.${node}; - nodePath = "machines/${category node}/${node}"; + nodePath = "machines/${category node}/${nodeMeta.nodeDir}"; }; in @@ -111,12 +112,12 @@ in args; defaults = - { name, ... }: + { name, nodeMeta, nodePath, ... }: { # Import the default modules imports = [ # Import the base configuration for each node - ./machines/liminix/ap-v01/_configuration.nix + ./${nodePath}/_configuration.nix ./modules/generic ./modules/${category name} ]; diff --git a/machines/liminix/ap-v01/wlan.nix b/machines/liminix/ap-v01/wlan.nix index ec724a6..fcf5da8 100644 --- a/machines/liminix/ap-v01/wlan.nix +++ b/machines/liminix/ap-v01/wlan.nix @@ -20,10 +20,10 @@ let mac-2 = "02:5B:6A:${hex (building * 4 + 1)}:${hex floor}:${hex ap-no}"; secrets-1 = { - ssid = "DGNum"; + ssid = "DGNum 2G"; }; secrets-2 = { - ssid = "DGNum"; + ssid = "DGNum 5G"; }; baseParams = { country_code = "FR"; diff --git a/meta/nodes/liminix.nix b/meta/nodes/liminix.nix index 8f654a2..5cc6130 100644 --- a/meta/nodes/liminix.nix +++ b/meta/nodes/liminix.nix @@ -27,11 +27,18 @@ let stateVersion = null; + nodeDir = "ap-v01"; + nixpkgs = { system = "zyxel-nwa50ax"; version = "24.05"; }; + deployment = { + tags = [ "ap-dev" ]; + targetHost = "10.0.253.1"; # TODO + }; + extraNodeSettings = { inherit building floor ap-no; vendor-mac = null; diff --git a/meta/options.nix b/meta/options.nix index 5b815d3..bb7a317 100644 --- a/meta/options.nix +++ b/meta/options.nix @@ -216,6 +216,11 @@ in default = { }; description = "Freeform attribute set to customize the node"; }; + + nodeDir = mkOption { + type = str; + description = "Path to access node configuration"; + }; }; config = { @@ -234,6 +239,7 @@ in mkIf (ip != [ ]) (mkDefault (builtins.head ip)); }); + nodeDir = mkDefault name; }; } )