I’d keep it simple.
The 1st thing that I would change is the directory structure.
I’d have 1 directory called system
all OS stuff goes there
then I’d have a users dir
in the users dir I’d have
– programs dir
– data dir
– home dir
the programs dir would contain programs/applications
the home dir would contain data like pictures, video, music, documents
data would contain appdata, example firefox cache or ssh keys
every program installed would run under its own user, exampe username.firefox
and group username
same with data, also username.firefox
home would be owned by username:username
and that’s it, now everything is orderly
next step: package management
create something as seen on MacOS. Essentially zip (or other) with metadata. fuse mount those archives so the content can be executed.
as for the UI, take inspiration from ChromeOS, imho that’s a clean and orderly UI.
programs that are running are automatically put on the bottom bar.
you can pin them for quick access. apart from that categorize, tag so they can easily be found and/or installed/removed.