17 lines
426 B
Nix
17 lines
426 B
Nix
|
{ config, options, lib, ... }: with lib;
|
||
|
let
|
||
|
# get a list of interfaces
|
||
|
interfaces = attrNames config.networking.interfaces;
|
||
|
# check if an IP has been assigned
|
||
|
has_ip = interface: (length config.networking.interfaces."${interface}".ipv4.addresses) != 0;
|
||
|
in {
|
||
|
config = {
|
||
|
assertions = [
|
||
|
{
|
||
|
assertion = lists.any has_ip interfaces;
|
||
|
message = "Must have a ip address set";
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
|
||
|
}
|