AwesomeWM
Initial setup
Start by booting Alpine (see these instructions on how to do that)
Enable Community Repository
In order to install the awesome package (see "Install packages" below), you need to enable the community repository for your version. Uncomment http://<url>/alpine/<version>/community in /etc/apk/repositories. For example:
Contents of /etc/apk/repositories
Install packages
Install awesome, xterm.
Depending on your network speed, it might take a few minutes.
# apk add awesome xterm lua font-terminus
Optional packages
Video and Input packages
You might want to install a package suitable for your video chipset and input devices.
For example, if you have an Sis video chipset, install 'xf86-video-sis'. For Intel video chipset, install 'xf86-video-intel'.
# apk add xf86-video-sis
and / or
# apk add xf86-input-synaptics
Run 'apk search xf86-video*' to see available xf86-video packages.
Run 'apk search xf86-input*' to see available xf86-input packages.
acpid
If you installed your Alpine Linux as a VirtualBox or VMWare guest, you might find it handy to be able execute an ACPI shutdown.
# rc-update add acpid
Configure xorg-server
On most systems, xorg should be able to autodetect all devices. However, you can still configure xorg-server manually by launching:
# setup-xorg-base
Create user accounts
Create a normal user account.
# adduser <user>
Optionally, give that user sudo permissions in /etc/sudoers. When doing so, it is important to use the command:
# visudo
This ensures that only one user is changing the file at any given time. Visudo has two modes: Command mode and Insert mode. To edit the file, use the arrows to navigate to the appropriate line and enter Insert mode by pressing the 'i' key. To save and exit, enter Command mode by pressing the 'Esc' key, then ':w' + 'enter' to save, and finally ':q' + 'enter' to quit.
Log out of the root account and log in to the newly created account.
Start your desktop
$ echo 'awesome' >> /home/<newuser>/.xinitrc
$ mkdir /home/<newuser>/.config
$ cp -r /etc/xdg/awesome /home/<newuser>/.config
$ vi /home/<newuser>/.config/awesome/rc.lua
Start awesome.
$ startx
Troubleshooting
D-Bus problems:
D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": No such file or directory
If startx fails and returns an error about D-Bus failed to read machine uuid, as shown above, proceed as follows:
Install dbus from apk (you must be logged in as root for the step shown below)
# apk add dbus
Log in or su to the root account, then launch the following command (Note: sudo does not work for this step):
# dbus-uuidgen > /var/lib/dbus/machine-id
Now if startx is launched, it should load the desktop correctly