{ 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 ''; }; vpsLinodeConfig = inputs.self.nixosConfigurations.vps.extendModules { modules = [ ( { lib, ... }: { my.secureHost = lib.mkForce false; my.build.baseImage = true; } ) ]; }; mcpTests = pkgs.writeShellApplication { name = "mcp-tests"; runtimeInputs = with pkgs.python3Packages; [ black click mypy pytest ruff ]; text = '' exec bash ${inputs.self}/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 = vpsLinodeConfig.config.system.build.images.linode; mcp-tests = mcpTests; nixos-mcp = nixosMcp; nixos-mcp-server = mcpServerPkg; }; }; }