No description
This repository has been archived on 2026-07-12. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Nix 90%
  • Shell 10%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Nimmo fa7183e454
All checks were successful
Build and Push Attic Cache / build (push) Successful in 10s
Add Forgejo Attic workflow
2026-07-02 20:00:16 +01:00
.forgejo/workflows Add Forgejo Attic workflow 2026-07-02 20:00:16 +01:00
packages Initial graphiti packaging flake 2026-07-02 19:58:06 +01:00
.gitignore Initial graphiti packaging flake 2026-07-02 19:58:06 +01:00
flake.lock Initial graphiti packaging flake 2026-07-02 19:58:06 +01:00
flake.nix Initial graphiti packaging flake 2026-07-02 19:58:06 +01:00
README.md Initial graphiti packaging flake 2026-07-02 19:58:06 +01:00
update.sh Initial graphiti packaging flake 2026-07-02 19:58:06 +01:00

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-core
  • packages.<system>.graphiti-mcp-server
  • packages.<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.