I am one of the core maintainers of Ubuntu Touch at UBports and intend to move this to official UBports repos and the Snapcraft account when maturity has been reached.
It is mainly intended for creating a Lomiri Desktop based on Ubuntu Core, meaning the Core image would use this base by default to have a shell and some core components be part of the Core image.
I would have to peek into Ubuntu Core Desktop with GNOME or the KDE attempts to determine what other Snaps using this as a base would be viable options.
So, as this snap is not intended to be used as base for the general audience, we need a concrete list of snaps that should be allow to use it (so that we can flag other snaps trying to use it potentially wrongly).
I first and foremost require an overview how a Core system is supposed to be composed, I don’t quite get the relation between which snaps are supposed to be put together in what specific way. I get there is no documentation but I am reaching out for help here.
I think this may be better supported over in the snap category - but perhaps @jamesh may be able to advise regarding how a Core desktop is supposed to be put together, otherwise if this is for general Ubuntu Core then maybe @ogra would be best. Thanks.
We are in the process of changing how we’ve put together the Core Desktop prototype system with the aim of making it more maintainable and more extensible. Unfortunately this doesn’t yet translate into concrete advice for people wanting to build their own spin of a desktop Ubuntu Core system.
In very high level terms, the main changes we want to make are:
Boot from the regular core24 base snap.
Figure out how to package and run the graphical login as its own snap.
Make the desktop session snap use base: core24 rather than relying on binaries and data files from core24-desktop.
Separate out some common services (e.g. Pipewire) into their own snaps so they can be reused by different by different desktop sessions.
Part of the reason for these changes was to have different Core Desktop variants share more code, and not place our GNOME based desktop in such a privileged position. It should be possible for someone to build a desktop session snap without duplicating too much of the work we’ve done.
And it should also be possible (but more difficult) to replace the graphical login if needed. We wouldn’t expect every desktop to choose to do that though.
I can’t easily point you at documentation for all of this, since we’re still figuring out what the system should look like. I can say that it will be easier to migrate to the new architecture if you make your desktop session snap a regular base: core24 snap rather than depend on a new base snap. We can also add hooks to the existing core24-desktop snap to let it boot into your session if installed, if that helps you get a working system.