nixify: wire mnemosyne-memory + mnemosyne-hermes into hermes-agent build as extraPythonPackages

This commit is contained in:
Harley
2026-07-19 04:09:44 -04:00
parent 20841acc85
commit 55fc9fc232
2 changed files with 25 additions and 8 deletions
+16
View File
@@ -47,6 +47,22 @@
passthru = old.passthru // { doc = null; };
});
})
## Overlay: add mnemosyne memory packages and inject into hermes-agent
(final: prev: let
mnemosynePkgs = final.callPackage ./mnemosyne.nix {
inherit (final.python312Packages) pyyaml fastembed sqlite-vec;
};
hermesWithExtra = prev.hermes-agent.override {
extraPythonPackages = [
mnemosynePkgs.mnemosyne-memory
mnemosynePkgs.mnemosyne-hermes
];
};
in {
inherit (mnemosynePkgs) mnemosyne-memory mnemosyne-hermes;
hermes-agent = hermesWithExtra;
}
)
];
## Auto-upgrade
+9 -8
View File
@@ -1,20 +1,21 @@
# mnemosyne.nix — Mnemosyne memory packages for Hermes Agent
# Provides: mnemosyne-memory (core) + mnemosyne-hermes (Hermes plugin)
#
# Called via python312Packages.callPackage — each dependency is auto-injected
# as an individual python package. Do not add python312Packages as a param.
{
lib,
buildPythonPackage,
fetchPypi,
python312Packages,
# mnemosyne-memory dependencies (core)
setuptools,
wheel,
# mnemosyne-memory dependencies
pyyaml,
# mnemosyne-memory[embeddings] extras
fastembed,
sqlite-vec,
}:
let
python = python312Packages;
mnemosyne-memory = buildPythonPackage rec {
pname = "mnemosyne-memory";
version = "3.14.0";
@@ -31,12 +32,12 @@ let
sqlite-vec
];
nativeBuildInputs = [ python.setuptools python.wheel ];
nativeBuildInputs = [ setuptools wheel ];
doCheck = false;
pythonImportsCheck = [ "mnemosyne" ];
meta = {
description = "Zero-dependency AI memory that works everywhere. SQLite-backed. Sub-millisecond.";
description = "Zero-dependency AI memory. SQLite-backed. Sub-millisecond.";
homepage = "https://github.com/mnemosyne-oss/mnemosyne";
license = lib.licenses.mit;
};
@@ -57,7 +58,7 @@ let
pyyaml
];
nativeBuildInputs = [ python.setuptools python.wheel ];
nativeBuildInputs = [ setuptools wheel ];
doCheck = false;
meta = {