Qtile

Qtile is a full-featured and hackable window manager written in Python, compatible with Xorg and Wayland.
The Alpine Linux script for quickly setting up a desktop is:
# setup-desktop
On running the above command, you will be prompted to select a desktop environment.
Which desktop environment? ('gnome', 'plasma', 'xfce', 'mate', 'sway', 'lxqt' or 'none') [none]
Once you have chosen a desktop environment, this script installs the chosen desktop along with necessary packages, firefox browser and adds necessary services to run on startup. You can reboot when complete, and the system will boot into a graphical login screen with the chosen desktop environment. To view the packages installed by the script: $ cat /usr/sbin/setup-desktop
Qtile is currently not supported by the setup-desktop script, and must be installed manually. See the steps listed below in Manual installation.
Manual installation
Prerequisites
- Install Xorg
- Install and configure D-Bus (without D-Bus icons and keyboard shortcuts may be missing)
Minimal package selection to install:
# apk add qtile lightdm-gtk-greeter font-dejavu

Set up eudev
Setting up eudev on a desktop system is recommended in Alpine Linux. Without a fully functional device manager users will not be able to connect to input devices. The alpine-conf package provides setup-devd script to easily install and setup device managers.
Setup eudev.
# setup-devd udev
For more details and other options see eudev.
Allowing shut down and reboot
To enable users to shut down the machine or reboot, the packages elogind and polkit-elogind need to be installed.
# apk add elogind polkit-elogind
A reboot is required to let it take effect.
# lbu commit # if running in diskless mode, to save state $ reboot
Auto-mounting USB drives
To enable automatic mounting of USB drives, install these packages:
# apk add gvfs udisks2
Depending on what devices you intend to mount, some additional packages may be needed:
# apk add \ ntfs-3g \ # Stable, full-featured, read-write NTFS (driver) gvfs-cdda \ # CDDA support for gvfs gvfs-afp \ # AFP support for gvfs gvfs-goa \ # GNOME Online Accounts support for gvfs gvfs-mtp \ # MTP support for gvfs gvfs-smb \ # Windows fileshare support for gvfs gvfs-lang \ # Languages for package gvfs gvfs-afc \ # Apple mobile devices support for gvfs gvfs-nfs \ # NFS support for gvfs gvfs-dev \ # Backends for the gio framework in GLib (development files) gvfs-archive \ # Archiving support for gvfs gvfs-dav \ # WebDAV support for gvfs gvfs-fuse \ # FUSE support for gvfs gvfs-gphoto2 \ # gphoto2 support for gvfs gvfs-avahi \ # DNS-SD support for gvfs
To list descriptions of all gvfs- packages:
$ apk info -d gvfs-*
Enabling privilege escalation GUI
To make elogind/lightdm running, either make them start automatically at system start:
# rc-update add elogind #change elogind for lightdm and run the same command
or start them manually for this time only:
# rc-service elogind start #change elogind for lightdm and run the same command
Starting Qtile
With a display manager (graphical login)
If the package lightdm-gtk-greeter
has been installed per the instructions above, the lightdm display manager may be started to log in graphically with your new user:
First, create a lightdm session file at /usr/share/xsessions:
# mkdir -p /usr/share/xsessions
- nano /usr/share/xsessions/qtile.desktop
[Desktop Entry] Name=Qtile Comment=Qtile Session Exec=dbus-run-session -- qtile start Type=Application Keywords=wm;tiling
# rc-service lightdm start
After correct operation is verified, lightdm can be enabled to start up during boot:
# rc-update add lightdm
Localized keyboard layout
The keyboard layout can be |configured at the Xorg level.