From 24079b7694f37a80f5304796aba37984b8f42542 Mon Sep 17 00:00:00 2001 From: Alexander Miroshnichenko Date: Fri, 7 Aug 2026 07:50:21 +0300 Subject: [PATCH] feat(packages): add nftables-analyzer package --- .beads/issues.jsonl | 1 + README.md | 1 + packages/nftables-analyzer/default.nix | 5 +++ packages/nftables-analyzer/package.nix | 54 ++++++++++++++++++++++++++ 4 files changed, 61 insertions(+) create mode 100644 .beads/issues.jsonl create mode 100644 packages/nftables-analyzer/default.nix create mode 100644 packages/nftables-analyzer/package.nix diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl new file mode 100644 index 0000000..a8f0168 --- /dev/null +++ b/.beads/issues.jsonl @@ -0,0 +1 @@ +{"_type":"issue","id":"nix-overlay-bjd","title":"Add nftables-analyzer CLI package","description":"Add python3Packages.buildPythonApplication derivation for reinaldosaraiva/nftables-analyzer (CLI only). Pin to main commit 5fc78d0c9ce173e3baa80a5655bcadb1b2f78493 (no tags upstream). sourceRoot=source/backend, hatchling build system. Category: Networking. Frontend excluded - upstream repo missing frontend/src/lib modules.","status":"in_progress","priority":2,"issue_type":"task","assignee":"Alexander Miroshnichenko","owner":"alex@millerson.name","created_at":"2026-08-07T04:48:07Z","created_by":"Alexander Miroshnichenko","updated_at":"2026-08-07T04:48:10Z","started_at":"2026-08-07T04:48:10Z","dependency_count":0,"dependent_count":0,"comment_count":0} diff --git a/README.md b/README.md index 493a397..49fe0f1 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ A custom Nix overlay and flake providing additional packages not found in upstre | `graphify` | Turn any folder of code, docs, papers, images, or videos into a queryable knowledge graph | AI Coding Agents | | `hipengine` | ROCm-native local LLM inference engine with torch-free runtime for AMD RDNA GPUs | AI Inference | | `mcp-gateway` | Universal Model Context Protocol gateway that sits between AI client and MCP tools/servers | MCP Servers | +| `nftables-analyzer` | Analyze nftables firewall rules and evaluate traffic queries | Networking | | `skillsmcp` | MCP server that exposes Agent Skills to AI agents via the Model Context Protocol | MCP Servers | | `kubernetes-mcp-server` | Model Context Protocol (MCP) server for Kubernetes and OpenShift | MCP Servers | | `loop` | Corporate messenger for your team | Communication | diff --git a/packages/nftables-analyzer/default.nix b/packages/nftables-analyzer/default.nix new file mode 100644 index 0000000..291b4f4 --- /dev/null +++ b/packages/nftables-analyzer/default.nix @@ -0,0 +1,5 @@ +{ + pkgs, + ... +}: +pkgs.callPackage ./package.nix { } diff --git a/packages/nftables-analyzer/package.nix b/packages/nftables-analyzer/package.nix new file mode 100644 index 0000000..9207fff --- /dev/null +++ b/packages/nftables-analyzer/package.nix @@ -0,0 +1,54 @@ +{ + lib, + python3Packages, + fetchFromGitHub, +}: + +python3Packages.buildPythonApplication rec { + pname = "nftables-analyzer"; + version = "0.1.0-unstable-2025-11-27"; + + src = fetchFromGitHub { + owner = "reinaldosaraiva"; + repo = "nftables-analyzer"; + rev = "5fc78d0c9ce173e3baa80a5655bcadb1b2f78493"; + hash = "sha256-PlEIArUPSSOtVrdUEamZBr1YQnm+GJpl5Xxgk0tHrdw="; + }; + + sourceRoot = "source/backend"; + + pyproject = true; + + build-system = with python3Packages; [ + hatchling + ]; + + dependencies = with python3Packages; [ + typer + rich + pydantic + fastapi + uvicorn + python-multipart + ]; + + doCheck = false; + pythonImportsCheck = [ "nftables_analyzer" ]; + + passthru = { + category = "Networking"; + updateScript = [ + "nix-update" + "--flake" + ".#nftables-analyzer" + ]; + }; + + meta = with lib; { + description = "Analyze nftables firewall rules and evaluate traffic queries"; + homepage = "https://github.com/reinaldosaraiva/nftables-analyzer"; + license = licenses.mit; + mainProgram = "nftables-analyzer"; + platforms = platforms.all; + }; +}