I’ve been wondering this too… I’m sure I recall from when JupyterLab was first mooted the implication that the JupyterLab UI would be customisable from a simple JSON config file, but I can’t find the reference where I read that?
So maybe one way to do (some) UI customisation is via the file that identifies which extensions are enabled?
Extensions can also be disabled manually using the command
jupyter labextension disable EXTENSION, so that might be another way of simplifying the UI? Just disable anything that is an extension that you don’t want?
The https://github.com/yuvipanda/simplest-notebook repo shows how to create a simple JupyterLab environment with just a file browser and notebook displays, but the set-up looks rather complicated to me!
Regarding themes, there are several different theme extensions listed on this awesome JupyterLab extension list.