{ 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"; }; outputs = { self, nixpkgs, ... }: let supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAllSystems = nixpkgs.lib.genAttrs supportedSystems; in { overlays.default = import ./overlays/default.nix; } // { packages = forAllSystems ( system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default ]; }; mcpPackages = import ./packages { inherit pkgs; }; in mcpPackages // { default = pkgs.symlinkJoin { name = "mcp-servers"; paths = builtins.attrValues mcpPackages; }; } ); devShells = forAllSystems ( system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default ]; }; mcpPackages = import ./packages { inherit pkgs; }; in { default = pkgs.mkShell { packages = builtins.attrValues mcpPackages ++ [ pkgs.mcp-nixos pkgs.git ]; shellHook = '' export SEARXNG_BASE_URL="https://search.bueso.eu" ''; }; } ); checks.x86_64-linux = builtins.removeAttrs self.packages.x86_64-linux [ "default" ]; }; }