This update is the seventh in a series of regular updates on the state of the project.
Only changes that have been accepted and merged in Mobile NixOS are chronicled here. There’s always more work currently in-progress.
11 PRs were merged during the month. Changes are mostly cleanup and documentation related.
The README (#138) as shown on GitHub has been reviewed to better guide users and contributors around the ecosystem, borrowing the organization of the main Nixpkgs README. Though the main reason for this change is that the README started to diverge with the documentation. Removing all examples and referring to the actual documentation files reduces the burden of maintaining multiple documentation fragments.
Code and architecture cleanup
Through some of the pull requests, a bunch of either dead, or ossified code was
found and removed. The main user-facing change is the removal of
device.info option was a mixed bag of misshapen, undefined options that were
at the foundation of all device definitions. The replacement are discrete well-defined
options that are defined in understandable categories. Systems define options that
they use, making it easier to understand why an option is defined.
The main consequence of that change is that the current work-in-progress ports will need to be reviewed to use the new options.
While technically a new feature, the new examples/hello system (#155) is more of a first-user-experience "bugfix" than a useful new feature.
This introduces a new example system that can be cross-compiled entirely, and shows an interface to the end-user. This helps fix the biggest complaint about the project: the default build looks as if the system has stopped responding.
Though this is not actually fixing that complaint, it does not replace the default build output. Users making a new port, or testing an existing port, will rather be encouraged to first try building and using this example to confirm the port works.
$ nix-build examples/hello --argstr device DEVICE-NAME -A build.default
A planned addition to this feature will be more features to test and validate support for different subsystems of the device. Currently this only tests the touchscreen (through requiring it for navigation) and validates the display shows the colours appropriately.
#141 initrd-usb: provide modules required for gadgets in initrd, which handles modules in modular mainline-based kernels and stage-1.
No new port were made in May. There is still a total of 11 devices you can build for.