As of this moment, there are still minor problems that persist: - sys-gui is labeled as dom0 in the window manager, - there is a several seconds' wait with a black screen while the window manager loads, and - notifications for sys-gui are sent to dom0 (this is an upstream problem that cannot be fixed with just configuration).
[details="This guide is here currently for anyone who would like to join me in doing the work. The Guide will be updated when I have actionable information. I'm doing my best to keep clutter out of the guide. It will likely go through several iterations, but it will be turned into a working guide when I am finished. "]
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!
[/details]
[details="Working Guide: AwesomeWM on Fedora Minimal Template:"]
Start completely fresh with new sys-gui and clean fedora-40-minimal template. (Delete old and reinstall with salt formula.)
In sys-gui template ("fedora-40-minimal
" if unmodified), install necessary packages and shutdown template:
gui-templ# dnf install qubes-manager qubes-linux-desktop-manager qubes-vm-guivm lightdm-gtk dummy-psu-receiver dummy-psu-module dummy-vm-backlight
AwesomeWM: gui-templ# dnf install awesome
Switch sys-gui template to the one just created and start sys-gui.
In sys-gui, open a Xen console, login as user
. In sys-gui terminal execute:
sys-gui$ echo "exec awesome" | tee ~/.xinitrc 1> /dev/null
sys-gui$ XSESSION=awesome
sys-gui$ mkdir ~/.config/awesome/ && sudo cp /etc/xdg/awesome/rc.lua .config/awesome/
(The above command is unnecessary, but it moves the Awesome config to user dir to avoid errors from editing it should you do so. I personally consider it a part of correctly configuring Awesome, but it will run fine without.)
In dom0 terminal, execute:
dom0$ qubes-prefs default_guivm sys-gui
Restart QubesOS and select GUIVM session in display manager menu.
[/details] [details=" Work in progress: AwesomeWM/Debian Minimal:"]
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# XSESSION=awesome
Restart QubesOS, and login to GUIVM.
[/details]
[details="Summary:"]
[Done!] Get everything functioning correctly in fedora-40-xfce based sys-gui. This will mostly be a Qubes thing, since that should already function perfectly.
[Done!] Get AwesomeWM functioning perfectly in fedora-40-xfce based sys-gui. I don't anticipate problems.
[Done!] Get AwesomeWM working in fedora-40-minimal based sys-gui. This will just be a matter of figuring out which packages are necessary and which aren't.
[In-progress] Get i3wm working in sys-gui.
Note: I don't plan to port this to Debian soon. It is in the plans, but I have absolutely no clue what is going on there. I will cross that bridge when I get to it.
As far as DEs/WMs other than AwesomeWM and i3wm, they shouldn't be any different to get working than in dom0 if both Awesome and i3 work, so I';ll just link those guides (if they exsit) when this is through.
Updates will be removed when the guide is finalized. There will also likely be a visual overhaul.
[/details]
Steps one through three are done!