AwesomeWM
Initial setup
Start by booting up Alpine (see these instructions on how to do that)
When Alpine is up and running, do the initial setup.
# setup-alpine
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, feh, aterm as basic desktop system.
This might take a few minutes depending on your network speed.
# apk add awesome feh aterm
If aterm is not recognized by apk (Alpinelinux 3.2.x or above) instead of it you can install lxterminal.
On the same version of Alpinelinux (3.2.x or above) you have to install the package lua otherwise awesome will not start
# apk add lua
Also, you may need to add packages for the Adwaita theme.
# apk add adwaita-gtk2-theme adwaita-icon-theme
Add other apps on need, eg. firefox, gnumeric, xchat, gimp, pidgin, geany, vim, etc.
For Alpinelinux 2.6.x add additional pkgs
# apk add cairo-gobject pango
Optional packages
Video and Input packages
You might also 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 send 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 by hand 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.
Logout from root and login into new 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
Replace instances of xterm with aterm or (if 3.2.x or above use lxterminal instead)
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 follow:
Install dbus from apk (you must be logged in as root, as for the step below)
# apk add dbus
Login or su to root account then launch the follow command (Note: sudo is not working for this step):
# dbus-uuidgen > /var/lib/dbus/machine-id
Now if startx is launched it should load correctly the desktop