{ self, ... }: { flake.nixosModules.systemLocalsend = { config, lib, ... }: let cfg = config.chiasson.system.localsend; in { options.chiasson.system.localsend.openFirewall = lib.mkOption { type = lib.types.bool; default = true; description = '' Open TCP/UDP **53317** for LocalSend. Use with `wisdomAppsLocalsend` on the user side. ''; }; config = lib.mkIf cfg.openFirewall { networking.firewall.allowedTCPPorts = [ 53317 ]; networking.firewall.allowedUDPPorts = [ 53317 ]; }; }; flake.homeManagerModules.wisdomAppsLocalsend = self.lib.wisdomSlice { path = "apps.localsend"; default = true; description = "LocalSend client; open the firewall on NixOS with `system.localsend` if you want inbound."; packages = pkgs: [ pkgs.localsend ]; }; }