46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{ 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
|
|
'';
|
|
};
|
|
in
|
|
{
|
|
packages = (inputs.jawz-scripts.packages.${system} or { }) // {
|
|
emacs-vm = inputs.nixos-generators.nixosGenerate {
|
|
inherit system;
|
|
modules = inputs.self.lib.commonModules "emacs";
|
|
format = "vm";
|
|
specialArgs = {
|
|
inherit inputs;
|
|
outputs = inputs.self;
|
|
};
|
|
};
|
|
nixos-mcp = nixosMcp;
|
|
nixos-mcp-server = mcpServerPkg;
|
|
};
|
|
};
|
|
}
|