at 24.11-pre 629 B view raw
1{ config, lib, pkgs, ... }: 2 3let 4 cfg = config.programs.winbox; 5in 6{ 7 options.programs.winbox = { 8 enable = lib.mkEnableOption ("MikroTik Winbox"); 9 package = lib.mkPackageOption pkgs "winbox" { }; 10 11 openFirewall = lib.mkOption { 12 description = '' 13 Whether to open ports for the MikroTik Neighbor Discovery protocol. Required for Winbox neighbor discovery. 14 ''; 15 default = false; 16 type = lib.types.bool; 17 }; 18 }; 19 20 config = lib.mkIf cfg.enable { 21 environment.systemPackages = [ cfg.package ]; 22 networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 5678 ]; 23 }; 24}