I am thinking it would be useful to have the Whonix boot process documented. The document can contain what core Whonix services are loaded at what point. For example:
- /lib/systemd/system/sdwdate.service - /lib/systemd/system/tor.service - /lib/systemd/system/whonixcheck.service - /etc/X11/Xsession.d/20whonix - /etc/X11/Xsession.d/50torbrowser-default-browser - /etc/X11/Xsession.d/50whonix-gw-kde-desktop-conf - /etc/profile.d/15_open_link_confirmation.sh - /etc/profile.d/20_power_savings_disable_in_vms.sh - /etc/profile.d/20_whonix.sh - /etc/profile.d/30_desktop.sh - /etc/profile.d/30_setup.sh - /etc/profile.d/40_msgdispatcher.sh - /etc/xdg/autostart/whonix-setup-wizard.desktop
And describe what each service, configuration file accomplishes in one document.
This would be useful to know where to plug other stuff in so it will not conflict with Whonix startup and therefore remove some of the qubes-whonix related work-around code. It would be nice for audits as well.
It would also be nice to have high level documentation of the individual Whonix modules such as whonixcheck for audit and workflow. I am not suggesting each function be documented. For example, it is really difficult to see what the flow for whonixcheck. A document can contain all the files that get included and the order they are included so if I am having issues with whonixcheck I can check the docs on which files in which order and why they are being included.
I would suggest we use something like sphnix markup within the source files themselves so the docs can automatically be built for each package. I can help write custom modules where needed to stitch things together and allow it to work with shell scripts as well as python scripts.