{ pkgs, lib, nodes, ... }: { imports = [ # applications for this particular server ../applications/firewall.nix ]; deployment = { targetHost = "test01.home.brendan.ie"; targetPort = 22; targetUser = "root"; }; # this server is teh firewall skynet_firewall = { # always good to know oneself own_ip = "192.168.1.157"; # 443 is an ssh port now (heh) own_ports = [ 22 443 ]; enable = true; # gonna have to get all the forward = builtins.concatLists ( # using this function "(key: value: value.config.skynet_firewall.forward)" turn the values ointo a list lib.attrsets.mapAttrsToList (key: value: # make sure that anything running this firewall dosent count (recursion otherewise) # firewall may want to open ports in itself but can deal with that later if value.config.skynet_firewall.enable then [] else value.config.skynet_firewall.forward ) nodes ); }; }