Files
millerson-overlay.nix/packages/haivemind/package.nix
Alexander Miroshnichenko e827a10680
Some checks failed
CI / check (push) Has been cancelled
fix(haivemind): clear blank Textual Select
Textual 8 treats Select.BLANK as False, causing ConfigScreen to crash.
2026-08-20 14:37:26 +03:00

63 lines
1.3 KiB
Nix

{
lib,
fetchFromGitHub,
python3Packages,
}:
python3Packages.buildPythonApplication rec {
pname = "haivemind";
version = "0.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "dev-boz";
repo = "haivemind";
rev = "ce4a0437d41f57638b71a17e2ff3af524d5a1b6e";
hash = "sha256-x7NM2wHwi11i07jHTL9NgYJkzzlP+tOmJy027itRtWs=";
};
build-system = with python3Packages; [
setuptools
];
dependencies = with python3Packages; [
textual
];
patches = [
./fix-chat-log-race.patch
];
postPatch = ''
substituteInPlace haivemind_tui.py \
--replace-fail "sel.value = Select.BLANK" "sel.clear()" \
--replace-fail "v is Select.BLANK" "v is Select.NULL"
'';
doCheck = false;
pythonImportsCheck = [
"haivemind"
"haivemind_tui"
"haivemind_curses"
];
passthru = {
category = "AI Coding Agents";
updateScript = [
"nix-update"
"--flake"
".#haivemind"
"--version=branch=main"
];
};
meta = with lib; {
description = "Multi-model AI consensus, aggregation, and fusion runner for popular AI CLIs";
homepage = "https://github.com/dev-boz/haivemind";
changelog = "https://github.com/dev-boz/haivemind/commits/main";
license = licenses.mit;
mainProgram = "haivemind";
platforms = platforms.all;
};
}