3 PRs were merged during the month. This is not cheating, the last merged PR was merged late on the 29th.

This is not development slowing down. Far from it. Four new projects were added to the Mobile NixOS GitHub organization related to this month’s work. Keep on reading.

Graphical boot selection

Hot on the heels of the re-written init, and as teased, a working graphical boot selection is now available for Mobile NixOS platforms.

There is more than meets the eye in pull request #80.

To make this possible, a GUI toolkit of relatively small weight has to be found. After some research, it was found in the LittlevGL library. While it is geared more towards actual embedded development, it does have a Linux framebuffer backend, support for evdev input. This is all standard stuff that is well supported on all targets. What is really nice with that library is it also supports a “simulator” target, which is basically an SDL window.

With that said, I personally don’t want to write C, especially in complex use cases. I already worked on mruby integration for the Mobile NixOS stage-1. It was only natural to write mruby bindings for LittleVGL.

With all the exposition done. What does this look like? The header image of this news post is composed of four devices running the GUI. An actual screenshot of the GUI follows, for better clarity.

This is not a feature complete generic replacement for a bootloader. Though, it can become one when kexec support is added in the future.