Ok, great. I am not insisting on this approach, though. Just having best practices, clean code, easy re-usability and such in mind. Makes the code more readable and Whonix overall more logical, understandable, extensible, auditable and so forth. I mean, in past there were no separate Whonix packages, all files were in whonix_(gateway|workstation|shared) folder. Technically it was not the slightest bit less safe, but difficult to get into for newcomers, and now much more grasp and work on Whonix.[/quote]
Whonix splitting in separate packages was a great move, from my point of view!
I am trying to write as logical and readable code as possible. Now, we should be careful with tools such as pylint. For example, whonix_repository_wizard.py scores an honorable 3.31/10 against 0.41/10 for launcher.py in trorbrowser-launcher. The latter is packaged in Debian. The tool might be useful to discover some obscure issues (I have a couple of them), but we should not try to stick to all the recommendations.
For [re]readability, adding docstrings once the scripts are deemed usable should help. As for re-usability, concerning guimessages especially, I fully agree after writing the wizards that it’s a lot more logical to have a dedicated .yaml file per package. A single file would quickly become hardly manageable.
Pushed three packages.
https://github.com/troubadoour/guimessages
whonix-repository-wizard is in a new repository, the original one was deleted.
whonix-setup-wizard is only for Workstation so far. Not knowing yet if there will be a second package for Gateway, depending on the complexity. May be an extra module, or a wizard Help button to avoid too many pages.
There are some minor issues left, but you can review (all three packages have to be installed). I think the wizard approach is becoming neat.