No description
- Nix 90%
- Shell 10%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
Build and Push Attic Cache / build (push) Successful in 10s
|
||
| .forgejo/workflows | ||
| packages | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
| update.sh | ||
graphiti-nix
Nix packaging wrapper for the upstream getzep/graphiti project.
This repo follows the same pattern as mem0-nix: pin one upstream revision, package the useful runtime pieces, and expose them as flake outputs for direct consumption from a NixOS configuration.
Current scope
packages.<system>.graphiti-corepackages.<system>.graphiti-mcp-serverpackages.<system>.default->graphiti-mcp-server
The initial packaging targets Graphiti v0.29.2 and assumes the MCP server will use a Neo4j backend. Neo4j already has clean NixOS support, which makes it a better first-class target than carrying an extra database wrapper on day one.
Example
{
inputs.graphiti-nix.url = "git+ssh://git@git.nimmog.uk:2222/nimmo/graphiti-nix.git";
inputs.graphiti-nix.inputs.nixpkgs.follows = "nixpkgs";
}
Then consume the package:
let
graphitiMcp =
inputs.graphiti-nix.packages.${pkgs.stdenv.hostPlatform.system}.graphiti-mcp-server;
in
{
environment.systemPackages = [ graphitiMcp ];
}
Notes
- Graphiti supports OpenAI-compatible endpoints. For Ollama or vLLM, configure the Graphiti OpenAI provider with a custom
api_url. - The upstream MCP server bundles its own YAML config model. This repo packages the server and ships the upstream example config at
share/graphiti-mcp-server/config.yaml. - Tests are disabled in the initial wrapper because the upstream suite expects live services and network access.
Updating
Run:
./update.sh
This prints the newest upstream tag and the tarball hash you need to copy into flake.nix.