yarr: add flake input for rustc 1.97.1, exclude from overlay
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.
This commit is contained in:
hermes-agent committed 2026-08-15 09:17:05 +00:00
1 parent e5db294f18
commit 98ba683632
5 files changed
+21 -17

No files matched your search

Generated
+3 -3
View File
@@ -2,11 +2,11 @@
"nodes": { "nodes": {
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1786599213, "lastModified": 1781577229,
"narHash": "sha256-yNJd40f11EzXBjSByCB7IPpeFFAdeoSKKM67dGkfFoU=", "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0e251e24a4f24e036a084b6b4b2d2491af4167f4", "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f",
"type": "github" "type": "github"
}, },
"original": { "original": {
+11 -3
View File
@@ -12,10 +12,14 @@
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 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 = outputs =
{ self, nixpkgs, ... }: { self, nixpkgs, rust-nixpkgs, ... }:
let let
supportedSystems = [ supportedSystems = [
"x86_64-linux" "x86_64-linux"
@@ -36,7 +40,10 @@
inherit system; inherit system;
overlays = [ self.overlays.default ]; overlays = [ self.overlays.default ];
}; };
mcpPackages = import ./packages { inherit pkgs; }; # 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 in
mcpPackages // { mcpPackages // {
default = pkgs.symlinkJoin { default = pkgs.symlinkJoin {
@@ -53,7 +60,8 @@
inherit system; inherit system;
overlays = [ self.overlays.default ]; overlays = [ self.overlays.default ];
}; };
mcpPackages = import ./packages { inherit pkgs; }; rustPkgs = import rust-nixpkgs { inherit system; };
mcpPackages = import ./packages { inherit pkgs rustPkgs; };
in in
{ {
default = pkgs.mkShell { default = pkgs.mkShell {
+4 -1
View File
@@ -16,8 +16,11 @@
# }; # };
# } # }
# #
# Note: yarr is excluded from the overlay because it needs rustc 1.97.1
# from a specific nixpkgs input. Build it via nix build .#yarr on the
# flake directly.
final: prev: final: prev:
let let
mcpPackages = import ../packages { pkgs = final; }; mcpPackages = import ../packages { pkgs = final; };
in in
mcpPackages builtins.removeAttrs mcpPackages [ "yarr" ]
+2 -2
View File
@@ -1,4 +1,4 @@
{ pkgs }: { pkgs, rustPkgs ? pkgs }:
{ {
manim-mcp-server = pkgs.callPackage ./manim-mcp-server/package.nix { }; manim-mcp-server = pkgs.callPackage ./manim-mcp-server/package.nix { };
@@ -28,6 +28,6 @@
navidrome-mcp = pkgs.callPackage ./navidrome-mcp/package.nix { }; navidrome-mcp = pkgs.callPackage ./navidrome-mcp/package.nix { };
ovhcloud-mcp = pkgs.callPackage ./ovhcloud-mcp/package.nix { }; ovhcloud-mcp = pkgs.callPackage ./ovhcloud-mcp/package.nix { };
slskd-mcp = pkgs.callPackage ./slskd-mcp/package.nix { }; slskd-mcp = pkgs.callPackage ./slskd-mcp/package.nix { };
yarr = pkgs.callPackage ./yarr/package.nix { }; yarr = rustPkgs.callPackage ./yarr/package.nix { };
# example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { }; # example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { };
} }
+1 -8
View File
@@ -1,16 +1,9 @@
{ {
lib, lib,
makeRustPlatform, rustPlatform,
fetchFromGitHub, fetchFromGitHub,
rustc,
cargo,
}: }:
let
rustPlatform = makeRustPlatform {
inherit cargo rustc;
};
in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "yarr"; pname = "yarr";
version = "2.2.2"; version = "2.2.2";