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

Highlights

  • Full PulseAudio and GStreamer multimedia stacks now build in corepkgs, unblocking ISO images and desktop audio
  • Meson and Go/Rust builders gained structured attribute support, reducing boilerplate and shrinking dependency chains
  • ekapkgs-cli added package templating, fuzzy search, tab completions, and hardened CAS storage
  • eka-ci reached end-to-end functionality with passthru test discovery

corepkgs

4 packages were added as build-fix dependencies and several existing packages received build corrections.

  • Pulseaudio
    Ported PulseAudio and its dependency chain — flac, libsndfile, mpg123, speex, speexdsp, and webrtc-audio-processing — enabling audio support for QEMU images and minimal systems.
  • Gstreamer
    Added the full GStreamer multimedia stack: core, base, good, bad, ugly, libav, devtools, ges, and rtsp-server, along with supporting libraries like graphene, orc, and taglib.
  • Pulseaudio: fully build
    Completed PulseAudio by porting all optional dependencies — libjack2, lirc, sbc, waf, and others — so it builds fully for ISO images and minimal systems.
  • Meson enhancements
    Introduced mesonFeatures for handling enabled/disabled/auto flags and improved mesonEntries to infer Nix booleans as Meson booleans, significantly reducing boilerplate across dozens of Meson-built packages.
  • Prune testing from Go and Rust builds
    Eliminated redundant test builds from the Go and Rust builders by automatically adding version checks to passthru.tests, shortening build times and shrinking dependency chains.
  • GTK / Hardware improvements
    Added GDB, valgrind, and split linux-firmware packages (per-vendor WiFi, Bluetooth, and GPU firmware), plus a firmware-aware hardware facter module for automatic firmware selection.
  • Finish Dev shells
    Added modular dev shell support with dotenv, enterShell, env, files, packages, scripts, and treefmt modules for language ecosystems. Linters and LSPs were moved to ekapkgs.

ekapkgs-cli

eka-ci

  • Get e2e working
    Brought the CI pipeline to end-to-end functionality with passthru test discovery, jobset filtering, and improved Nix evaluation handling.