well, the initial post of that topic is pretty clear that the thread is looking for new apps to package suggestions … and i personally felt clearly like i’m abusing our longest running package suggestions topic with keeping the discussion there …
note that this is mainly about creating users inside the snap runtime environment (for apps that today require patching because they insist on privilege dropping) … if you want to create an appliance image and add a user today on an Ubuntu Core system, you need to use a system-user assertion or have a brandstore which allows you to have a snap with the snapd-control interface enabled in there, so you can call “snap create user” from this snap …
have you taken a look at install/remove hooks (and there are plenty of other hooks) ?
Well, this is the status quo for snaps … i didnt make an assertion here but stated a fact. snaps that run in a kiosk environment on UbuntuCore always run as root today (snaps that run as system services on a classic install also always run as root; there is no user-session auto-start feature today) and you would typically not even have a user on the system (yet, indeed you could be using the system-user assertion or the interactive console-conf) unless you are doing development …
note that snaps can not see anything more from the system or execute any out-of-snap binaries than the interaces allow that you picked for your snap (any security-critical ones will not auto-connect without a user or a gadget snap (in case of an appliance) explicitly requesting it), the confinement is designed especially with running as root in mind.
i’m actually not really after a debate on principle, though …
you sounded like you are after help to get some kiosk setup done and i have experience with it and would be happy to help if you could give some more details about what show stoppers you have hit, Ubuntu Core and snaps are simply designed different from how things have been in the deb and rpm world. I’m happy to help you finding the right ropes if needed …
EDIT: i just noticed that you picked the snapcraft category for this post, if you want to have a feature discussion i’d suggest picking the snapd category (which will be watched by the right team) since that is where package features get implemented and managed, snapcraft is the tool used to create the packages, but it only follows snapd if it comes to snap features