Welcome to This Week in Ekala #3! Here's what happened this week.

Highlights

  • ekapkgs-cli gained a FUSE subcommand that resolves shared library sonames to Nix packages on demand, enabling transparent library loading for unpatched binaries via nix-ld
  • eka-ci replaced SSH-based build coordination with gRPC and added an MCP server endpoint so AI agents can diagnose failing PR gates
  • CA store now uses bloom filters for chunk negotiation, cutting redundant transfers
  • Dev shell modules for 15 language ecosystems landed in ekapkgs

corepkgs

ekapkgs

  • mkDevShell refactor
    Added 15 language-specific dev shell tool modules (Rust, Go, Python, Java, Ruby, Zig, and more) and ported packages like dart, elm, helm, mold, and ibus from corepkgs.
  • Writers and eval fixes
    Brought in dev shell modules, new packages (ansible, bitwarden-cli, arc-theme, bamf), and eval/CI alignment fixes following the corepkgs alias cleanup.

ekapkgs-cli

  • Finish CA Store
    Implemented bloom filter–based chunk negotiation to skip already-stored chunks, added NAR decomposition for granular deduplication, and expanded garbage collection and integration tests.
  • Add fuse subcommand for on-demand /usr/lib shared library serving
    Mounts a read-only FUSE filesystem that resolves sonames to Nix packages via a CI-generated index, downloading them on demand through the existing negotiate protocol for seamless nix-ld integration.

eka-ci

  • GRPC builder support
    Replaced SSH-based build coordination with a gRPC protocol, added a circuit breaker for builder health management, and introduced a new nix_store crate for direct Nix daemon communication.
  • Search Index DB generation
    Generates SQLite search indexes for packages and files when channels are pushed, enabling the ekapkgs-cli search and FUSE features to use pre-built indexes from the CI server.
  • Add MCP server endpoint for AI agent PR diagnostics
    Embedded a Model Context Protocol server at /v1/mcp that exposes tools for listing failing PRs, reading build logs, and tracing dependency failure chains, letting AI agents diagnose CI issues.
  • Maintenance: git checkout of new SHAs, config alias, docs, Nix packaging
    Fixed git worktree checkout for new commits, added config key aliases, hardened the NixOS module service PATH, and resolved Nix build issues. Contributed by @znaniye.