This is currently a WIP and will be updated as I figure it out. This guide is here for anyone who would like to join me in doing so because it is primitively working. Currently, I am figuring out if there are any packages listed in the salt configs for sys-gui template that will solve any problems. My goal is to make this work with as few and as simple changes as possible so as to be easy to configure and maintain, so work may be slow as I pinpoint exact issues. As of this moment, qube applications will not launch, sys-gui terminal (and most likely all applications) are labeled as dom0 in the wm, there is no systray or widgets, and it is too slow for comfort when logging in and starting the wm. Who knows what else; I'm tackling the issues as they arise. This guide is for debain-12-minimal and AwesomeWM, because that is what I am using; I plan to expand this to be OS and DE/WM independent. Lastly, I am very busy and may not post regular updates. My schedule is unpredictable and I may get this done quickly or I may be very slow. I will do what I can when I can, and I will update when significant progress (or failure) is made. Any help is appreciated!
Use Salt to configure sys-gui (top.enable qvm.sys-gui
). Confirm this works. This is mainly to make sure there are no preexisting problems so things don't get confused, but it also sets up the GUIVM policy. You'll have to do this manually if you skip this step, but the policiy and location can be found in /srv/formulas/base/virtual-machines-formula/qvm/sys-gui-template.sls
.
Create debian-12-minimal-sys-gui by cloning debian-12-minimal. Get a root shell and execute these commands (include any other packages you want; I did rofi, sxhkd, emacs, etc.):
gui-templ# apt install awesome lightdm qubes-desktop-linux-manager qubes-vm-guivm qubes-manager xdg-user-dirs-gtk
gui-templ# systemctl enable lightdm
Copy Awesome-related files:
dom0$ qvm-copy-to-vm sys-gui /home/user/.config/awesome
dom0$ qvm-copy-to-vm debian-12-minimal-sys-gui /usr/share/awesome/lib/qubes.lua
Move copied files in debian-12-minimal-sys-gui to correct directory:
gui-templ# mv /home/user/QubesIncoming/dom0/qubes.lua /usr/share/awesome/lib/
Then shutdown debian-12-minimal-sys-gui.
Start sys-gui and launch a Xen console. Login to root (type 'root' and press return). Execute these commands:
sys-gui# mv /home/user/QubesIncoming/dom0/awesome /home/user/.config/
sys-gui# echo "exec awesome" | tee /home/user/.xinitrc 1> /dev/null
sys-gui# set XSESSION=awesome
Restart QubesOS, and login to GUIVM.
This is a work in progress, may not be updated quickly or regularly, but I will update it when I make progress. This will eventually be a complete and OS/WM/DE independent guide, but it is here to see if anyone else wants this and/or is willing to help. It will be more of a priority for me if this gets likes and constructive replies; however, my schedule is unpredictable and I may have to shelf this if things come up. I will be working on when and where I can. 99% of what is here is based off the salt formula and this topic.