NixOS Configuration CI / Nix Flake Check (pull_request) Failing after 3h7m5s
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.
79 lines
2.3 KiB
Nix
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" ];
|
|
};
|
|
}
|