Files
mcp-servers/flake.nix
MCP Packages b467013c12 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
2026-02-04 15:35:12 +01:00

68 lines
1.6 KiB
Nix

{
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;
})
];
};
}
);
}