Initial commit: MCP server packages for Nix
- Add flake structure with overlay and packages exports - Add manim-mcp-server as first packaged MCP server - Add README.org with usage instructions and package templates - Add packages/default.nix as package aggregator - Add overlays/default.nix for nixpkgs integration
This commit is contained in:
67
flake.nix
Normal file
67
flake.nix
Normal file
@@ -0,0 +1,67 @@
|
||||
{
|
||||
nixConfig = {
|
||||
extra-substituters = [
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
};
|
||||
|
||||
description = "MCP Server Packages for Nix";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
jailed-agents.url = "path:/conf/jailed-agents";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
flake-utils,
|
||||
jailed-agents,
|
||||
...
|
||||
}:
|
||||
{
|
||||
# Overlay that adds all MCP packages to nixpkgs
|
||||
overlays.default = import ./overlays/default.nix;
|
||||
}
|
||||
// flake-utils.lib.eachDefaultSystem (
|
||||
system:
|
||||
let
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ self.overlays.default ];
|
||||
};
|
||||
|
||||
# Import all MCP packages
|
||||
mcpPackages = import ./packages { inherit pkgs; };
|
||||
|
||||
# List of all MCP server packages (for devShell)
|
||||
allMcpServers = builtins.attrValues mcpPackages ++ [ pkgs.mcp-nixos ];
|
||||
in
|
||||
{
|
||||
# Export all packages
|
||||
packages = mcpPackages // {
|
||||
default = pkgs.symlinkJoin {
|
||||
name = "mcp-servers";
|
||||
paths = builtins.attrValues mcpPackages;
|
||||
};
|
||||
};
|
||||
|
||||
devShells.default = pkgs.mkShell {
|
||||
packages =
|
||||
allMcpServers
|
||||
++ [
|
||||
pkgs.git
|
||||
(jailed-agents.lib.${system}.makeJailed system {
|
||||
agentTool = "opencode";
|
||||
extraPkgs = allMcpServers;
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user