70 lines
1.7 KiB
Nix
70 lines
1.7 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 = "git+ssh://gitea@gitea.bueso.eu/luis/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;
|
|
})
|
|
];
|
|
|
|
shellHook = ''
|
|
export SEARXNG_BASE_URL="https://search.bueso.eu"
|
|
'';
|
|
};
|
|
}
|
|
);
|
|
}
|