The idea is that Whonix developers would provide that pick and choose, pre-configured. Not users. The end result should be similar to what XFCE (or another DE) is doing now. For example somehow using XFCE with another window manager to make it use wayland, if that is doable. ( use Xfce with Wayland ) Or a similar solution (pick windows manager + wayland + taskbar + systray applications)…
Yes. All drop-ins / systemd units by Whonix.
See:
Download Whonix source code as per:
Build and Update Whonix from Source Code
cd packages
find . -type f -not -iwholename '*.git*' | grep /systemd/
(Probably want a shortcut for find.)
A lot in ./qubes-whonix/lib/systemd/system/
are trivial files that could and should be merged.
For example ./qubes-whonix/lib/systemd/system/swap-file-creator.service.d/40_qubes.conf
into ./rads/lib/systemd/system/rads.service
.
Let’s subtract these for now.
Let’s also ignore the auto generated ones:
./anon-ws-disable-stacked-tor/lib/systemd/system/anon-ws-disable-stacked-tor_autogen_*
Let’s also ignore .conf
(which are mostly just trivial [1] drop-ins).
find . -type f -not -iwholename '*.git*' | grep /systemd/ | grep --invert-match qubes-whonix | grep --invert-match disable-stacked-tor | grep --invert-match \.conf | wc -l
36
i.e. 36 “real” systemd unit services by Whonix. Looks more managable to port elsewhere.
./sdwdate/lib/systemd/system/sdwdate.service
./dist-base-files/lib/systemd/system/dist-skel-first-boot.service
./whonix-libvirt/lib/systemd/system/whonix-libvirt-set-persistent-mode-to-read-write.service
./whonix-libvirt/lib/systemd/system/whonix-libvirt-set-live-to-readonly.service
./whonix-libvirt/lib/systemd/system/whonix-libvirt-install.service
./whonix-firewall/lib/systemd/system/whonix-firewall-restarter.service
./whonix-firewall/lib/systemd/system/whonix-firewall.service
./bootclockrandomization/lib/systemd/system/bootclockrandomization.service
./lkrg/scripts/bootup/systemd/lkrg-systemd.sh
./lkrg/scripts/bootup/systemd/lkrg.service
./swap-file-creator/lib/systemd/system/swap-file-creator.service
./apparmor-profile-dist/lib/systemd/system/live-mode-apparmor.service
./tor-control-panel/lib/systemd/system/tor-control-panel.service
./whonix-legacy/lib/systemd/system/whonix-legacy.service
./security-misc/lib/systemd/system/permission-hardening.service
./security-misc/lib/systemd/system/proc-hidepid.service
./security-misc/lib/systemd/system/remove-system-map.service
./security-misc/lib/systemd/system/remount-secure.service
./security-misc/lib/systemd/system/hide-hardware-info.service
./security-misc/lib/systemd/system-preset/50-security-misc.preset
./rads/lib/systemd/system/rads.service
./rads/lib/systemd/system/rads-block-display-manger.service
./tb-updater/lib/systemd/system/tb-updater-dispvm.service
./tb-updater/lib/systemd/system/tb-updater-first-boot.service
./timesanitycheck/lib/systemd/system/timesanitycheck.service
./corridor/systemd/corridor-init-forwarding.service.in
./corridor/systemd/corridor-init-logged.service.in
./corridor/systemd/corridor-data.service.in
./corridor/systemd/corridor.target
./corridor/systemd/corridor-init-snat.service.in
./sdwdate-gui/lib/systemd/system/sdwdate-gui-shutdown-notify.service
./whonixcheck/lib/systemd/system/whonixcheck.service
./onion-grater/lib/systemd/system/onion-grater.service
./msgcollector/lib/systemd/system/msgcollector.service
./msgcollector/usr/lib/systemd/user/usertest.service
./kloak/lib/systemd/system/kloak.service
Even of that list some are not important such as corridor (no immediate port required) or lkrg (part of upstream source code but not in use).
[1] example:
Was non-trivial to invent:
cat ./anon-gw-anonymizer-config/lib/systemd/system/vanguards.service.d/30_anon-gw-anonymizer-config.conf
[Service]
Environment=VANGUARDS_CONFIG=/etc/tor/anon-vanguards.conf
But is trivial for developers to understand.