This Week in Ekala #4
Welcome to This Week in Ekala #4! Here's what happened this week.
Highlights
- EkaOS gains an A/B boot scheme with automatic fallback via systemd-boot boot counting
- New home/user environment module system with program modules for bash, git, gpg-agent, and ssh
- Full BEAM ecosystem support (Erlang, Mix, Rebar3) and Zig build helpers land in corepkgs
ekapkgs-updatecan now poll RSS feeds for automated upstream release detection
corepkgs
- Home/user env
Introduced a home/user environment module system with program modules for bash, git, gpg-agent, and ssh, enabling end-to-endekapkgs homeworkflows. - Pinning: allow for the repo pins to be committed to store
Repo pins are now rendered as store paths, preventing evaluation cache misses from unpopulated pins. - zig.fetchDeps, zig.buildZigPackage: init
Added a Zig fixed-output derivation fetcher and build helper, making it straightforward to package Zig projects. - ekaos/ab-boot: init A/B boot scheme
Implements A/B boot via systemd-boot boot counting on existing generation BLS entries. If the health check fails after N attempts, systemd-boot automatically falls back to the previous proven generation. - wrapDriverProgram: init
A new wrapper that creates a runtime glibc + driver library environment, allowing GUI and CUDA applications to run on non-Nix systems with hardware acceleration. - VM Image
EkaOS disk images now build and boot under QEMU, with a reworked initrd, improved systemd service management, and a boot-to-multiuser integration test. - beamPackages: init
Full BEAM ecosystem build support including Erlang, Mix, and Rebar3 builders, a Hex fetcher, and Mix/Rebar3 release helpers.
ekapkgs
22 Go packages were added and Omarchy dependency packages were brought in.
- Omarchy deps
Added the dependency packages needed for Omarchy packaging, including libportal, webkitgtk, SDL2, and blender build fixes. - Add Go packages (22) from PR #21
22 new Go packages built withbuildGoModule, including hybrid Go+frontend packages with embedded pnpm/npm frontends.
ekapkgs-cli
- Home support
Implemented end-to-endekapkgs homecommand for managing user environment configurations. - System feature parity
Broughtekapkgs systemto near-parity with nixos-rebuild, supporting the core system management workflows.
ekapkgs-update
- Polling and minor fixes
Added an RSS feed polling and watch subsystem for automated upstream release detection, along with database migrations and version preference fixes. - Version alignment
Fixes stale commit-SHA revs when a version is bumped by adding a rev fixup rewriting pass during updates.