Two years later, actually functional output.

This commit is contained in:
Yaro Kasear 2025-11-29 12:26:31 -06:00
parent 62b4e8b80a
commit 500eb9e859

View file

@ -2,40 +2,49 @@
let let
system = "x86_64-linux"; system = "x86_64-linux";
# Bring in nixpkgs and lib
pkgs = import <nixpkgs> { inherit system; }; pkgs = import <nixpkgs> { inherit system; };
lib = pkgs.lib; lib = pkgs.lib;
# Your world + addressing lib
meta = import ../meta.nix; meta = import ../meta.nix;
addressing = import ../lib/addressing { inherit lib; }; addressing = import ../lib/addressing { inherit lib; };
nixos = lib.nixosSystem { # NixOS module system library
inherit system; nixosLib = import <nixpkgs/nixos/lib> {
inherit lib;
};
modules = [ # All standard NixOS modules (as a list)
# Your core Metanix module (the one you moved) baseModules = import <nixpkgs/nixos/modules/module-list.nix>;
../modules/metanix/core.nix
# The systemd-networkd integration you pasted # Evaluate modules as if this were a NixOS system
../modules/metanix/networkd.nix evalResult = nixosLib.evalModules {
modules =
baseModules
++ [
# Metanix core wiring (meta + addressing)
../modules/metanix/core.nix
# Inline module to wire meta/addressing + identify this host # systemd-networkd integration
{ ../modules/metanix/networkd.nix
# Metanix world & library
inherit meta addressing;
# Who am I? # Local stub: "this machine is phobos"
networking.hostName = "phobos"; {
# Optional override; here it matches hostName anyway networking.hostName = "phobos";
metanix.thisHost = "phobos"; metanix.thisHost = "phobos";
}
];
# You can also stub other things here if needed # Args passed to all modules: { lib, pkgs, system, meta, addressing, modulesPath, ... }
} specialArgs = {
]; inherit lib pkgs system meta addressing;
modulesPath = builtins.toString <nixpkgs/nixos/modules>;
};
}; };
in in
{ {
# What we care about inspecting: systemdNetwork = evalResult.config.systemd.network;
systemdNetwork = nixos.config.systemd.network; metanixHost = evalResult.config.metanix.network.hosts.phobos;
metanixHost = nixos.config.metanix.network.hosts.phobos; metanixSubnet = evalResult.config.metanix.network.subnets."home-main";
metanixSubnet = nixos.config.metanix.network.subnets."home-main";
} }