Files
mcp-servers/flake.nix
T
hermes-agent 98ba683632
NixOS Configuration CI / Nix Flake Check (pull_request) Failing after 3h7m5s
yarr: add flake input for rustc 1.97.1, exclude from overlay
yarr needs rustc 1.97.1 but the main nixpkgs input (pinned by flake.lock)
has rustc 1.95.0. Bumping the main input breaks aioimaplib (email server
dep), so add a separate rust-nixpkgs input pinned to a newer rev.

yarr is excluded from the overlay (which uses the main nixpkgs) — build
it via 'nix build .#yarr' on the flake directly.
2026-08-15 09:17:05 +00:00

79 lines
2.3 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";
# Newer nixpkgs for yarr: the pinned nixpkgs has rustc 1.95 but yarr
# needs 1.97.1. Bumping the main nixpkgs input breaks aioimaplib
# (email server dep), so use a separate input just for yarr's rust.
rust-nixpkgs.url = "github:NixOS/nixpkgs/0e251e24a4f24e036a084b6b4b2d2491af4167f4";
};
outputs =
{ self, nixpkgs, rust-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 ];
};
# yarr needs rustc 1.97.1; the main nixpkgs input only has 1.95.
# Build its rust toolchain from the newer rust-nixpkgs input.
rustPkgs = import rust-nixpkgs { inherit system; };
mcpPackages = import ./packages { inherit pkgs rustPkgs; };
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 ];
};
rustPkgs = import rust-nixpkgs { inherit system; };
mcpPackages = import ./packages { inherit pkgs rustPkgs; };
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" ];
};
}