{ pkgs, lib, nodes, ... }: { imports = [ # applications for this particular server ../applications/firewall.nix ]; deployment = { #targetHost = "agentjones.skynet.ie"; # wont have dns to start with targetHost = "193.1.99.72"; targetPort = 22; targetUser = "root"; }; # this server is teh firewall skynet_firewall = { # always good to know oneself own_ip = "193.1.99.72"; # 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 ); }; }