This Week in Ekala #5
Welcome to This Week in Ekala #5! Here's what happened this week.
Highlights
- PostgreSQL gained
pg_config, a PGXS extension builder, and a dedicatedpostgresPackagesnamespace - Build phases no longer need to manually call pre/post hooks —
setup.shhandles them as first-class actions - ekapkgs added 20+ home-manager modules and popular desktop packages like Chromium, Electron, and VS Code
- The ekapkgs CLI got chunk compression, cache metrics, and new service/dev-shell scaffolding commands
corepkgs
3 best-practice sweep PRs and a downstream-fixes PR landed, normalizing package definitions across the tree.
- postgresql: expose pg_config and add PGXS extension builder
Ported relocatablepg_configand a PGXS extension builder from nixpkgs, unblockingbuildPgrxExtensionand all PGXS-based PostgreSQL extensions. Contributed by @ic4-y. - postgresPackages: init
Created a dedicatedpostgresPackagesnamespace and overlay for PostgreSQL extensions. - stdenv: support extensions attr
Added anextensionsattribute tomkDerivation, allowing optional compile-time variants (e.g.gtk,odbc) to be communicated without clobbering the package name. - Promote pre+post hooks to separately defined actions
Made pre/post hooks first-class citizens insetup.shso build phases no longer need to invoke them manually, simplifying every builder in the tree. - Java v8 and utilities / python: use mkManyVariants
Added Java v8,fetchMavenArtifact, and JRE certificate generation, and migrated Python tomkManyVariantsenablingpython.extendVariants. - CMake entries rewrite
Continued the transition fromcmakeFlagsto the structuredcmakeEntriesAPI across LLVM, protobuf, and dozens of other packages.
ekapkgs
23 database and data-infrastructure packages were added (Kafka, Cassandra, Neo4j, SurrealDB, and more), 3 C/C++/Zig packages landed, and a best-practices sweep fixed up existing package definitions. Contributed by @ic4-y.
- More home modules
Added 20+ home-manager modules including programs (emacs, fish, zsh, tmux, kitty, ghostty, mpv, zathura) and services (dunst, mako, mpd, gammastep, cliphist, udiskie, darkman). - Add popular packages
Brought in Chromium, Firefox build support (buildMozillaMach), Electron, VS Code, Bitwarden Desktop, Dolphin Emulator, Deluge, and many more popular desktop and GUI applications.
ekapkgs-cli
2 incremental PRs improved home/system commands and added cache usage inspection.
- Service improvements
Addedekapkgs env,ekapkgs try, andekapkgs statuscommands along with service template scaffolding and agent skills for dev-shell and home-service creation. - Cache improvements
Introduced zstd compression for larger chunks and inlined sub-1KB chunks into B-tree pages, reducing storage overhead and improving cache read performance.
ekapkgs-update
- Add review command
Added anekapkgs-update reviewcommand for reviewing PRs, defaulting toekala-project/ekapkgsbut supporting any repository.