modular interface involation

This commit is contained in:
Steffen Illium
2025-07-16 21:41:31 +02:00
parent c7eb52821c
commit 57ba310000
+14 -7
View File
@@ -24,7 +24,6 @@
./hwaccel.nix
# Services
./keepalived.nix
./wireguard.nix
./docker.nix
./docker-device-mapper.nix
@@ -47,13 +46,21 @@
networking.hostName = config.vars.hostname; # Define your hostname.
networking.hostId = config.vars.hostid; # Define your hostID - Needs to be unique!.
networking = {
interfaces.${lib.head config.vars.interfaces} = {
ipv4.addresses = [{
address = config.vars.local_ip;
prefixLength = 24;
}];
};
interfaces = let
primaryInterface = lib.head config.vars.interfaces;
secondaryInterfaces = lib.tail config.vars.interfaces;
in
lib.foldr (name: acc: acc // {
${name}.useDHCP = true;
}) (
{ ${primaryInterface}.ipv4.addresses = [{
address = config.vars.local_ip;
prefixLength = 24;
}];
}
) secondaryInterfaces;
};
networking.defaultGateway = {
address = "192.168.178.1";
interface = lib.head config.vars.interfaces;