{ inputs, ... }: { perSystem = { system, pkgs, ... }: let mcpServerPkg = pkgs.python3Packages.buildPythonPackage { pname = "nixos-mcp-server"; version = "0.1.0"; src = inputs.self + "/scripts/mcp-server"; pyproject = true; build-system = with pkgs.python3Packages; [ setuptools wheel ]; propagatedBuildInputs = with pkgs.python3Packages; [ click mcp ]; doCheck = false; }; mcpPython = pkgs.python3.withPackages (_: [ mcpServerPkg ]); nixosMcp = pkgs.writeShellApplication { name = "nixos-mcp"; runtimeInputs = [ mcpPython ]; text = '' exec ${mcpPython}/bin/python -m mcp_server.server ''; }; mcpTests = pkgs.writeShellApplication { name = "mcp-tests"; runtimeInputs = with pkgs.python3Packages; [ black click mypy pytest ruff ]; text = '' start_dir="$PWD" if [ -n "''${MCP_TESTS_WORKDIR:-}" ]; then cd "''${MCP_TESTS_WORKDIR}" elif [ -n "''${GITEA_WORKSPACE:-}" ]; then cd "''${GITEA_WORKSPACE}" elif [ -n "''${GITHUB_WORKSPACE:-}" ]; then cd "''${GITHUB_WORKSPACE}" elif command -v git >/dev/null 2>&1; then repo_root="$(git rev-parse --show-toplevel 2>/dev/null || true)" if [ -n "$repo_root" ]; then cd "$repo_root" fi fi while [ ! -x ./scripts/mcp-server/run-tests.sh ]; do if [ "$PWD" = "/" ]; then echo "Could not find executable scripts/mcp-server/run-tests.sh starting from $start_dir" >&2 exit 1 fi cd .. done exec bash ./scripts/mcp-server/run-tests.sh "$@" ''; }; in { packages = (inputs.jawz-scripts.packages.${system} or { }) // { emacs-vm = inputs.self.nixosConfigurations.emacs.config.system.build.vm; vps-linode = inputs.self.nixosConfigurations.vps.config.system.build.images.linode; mcp-tests = mcpTests; nixos-mcp = nixosMcp; nixos-mcp-server = mcpServerPkg; }; }; }