diff --git a/modules/crans/networking.nix b/modules/crans/networking.nix index 46e3b17..0696806 100644 --- a/modules/crans/networking.nix +++ b/modules/crans/networking.nix @@ -77,13 +77,21 @@ in firewall.enable = lib.mkDefault false; nameservers = [ "172.16.10.128" ]; + # La configuration des interfaces se fait de la manière suivante : + # elle est écrite de manière générique pour toutes les machines, puis + # on filtre pour ne garder que les interfaces activées. nix fait de + # l'évaluation paresseuse donc ça fonctionne bien ! interfaces = + # On change le nom des interfaces de "adm", "srv", ... pour leur vrai + # nom (on ne le met pas directement pour faire fonctionner le filter + # plus bas). lib.attrsets.mapAttrs' (interface: conf: { name = cfg."${interface}".interface; value = conf; }) ( + # On filtre sur les interfaces activées lib.attrsets.filterAttrs (interface: _: cfg."${interface}".enable) { # Configuration du VLAN adm adm = {