nix-config/nixos/_mixins/services/firewall.nix
Gregory Burd 86706b1fc7 wimpy-ified
inspired by wimpysworld nix-config
2023-09-25 14:05:07 -04:00

32 lines
623 B
Nix

{ lib, hostname, ... }:
let
# Firewall configuration variable for syncthing
syncthing = {
hosts = [
"designare"
"micropc"
"p1"
"p2-max"
"ripper"
"trooper"
"vm"
"win2"
"win-max"
"zed"
];
tcpPorts = [ 22000 ];
udpPorts = [ 22000 21027 ];
};
in
{
networking = {
firewall = {
enable = true;
allowedTCPPorts = [ ]
++ lib.optionals (builtins.elem hostname syncthing.hosts) syncthing.tcpPorts;
allowedUDPPorts = [ ]
++ lib.optionals (builtins.elem hostname syncthing.hosts) syncthing.udpPorts;
};
};
}