River
River is a dynamic tiling Wayland compositor. An introduction to River can be found in this blog post by the author for the 0.1.0 release.
This wiki was written starting from a fresh install using the Alpine 3.14.2 x86_64 extended .iso. The steps begin from the first reboot after running setup-alpine and performing a sys install to disk.
First Boot
On the first boot after a new Alpine installation, there are some basic system configuration tasks typically done regardless of whether you plan to run a GUI desktop or not. These are the steps I run through:
Login as root, create a new user and update group membership:
adduser sodface addgroup sodface audio addgroup sodface input addgroup sodface video addgroup sodface wheel
Edit the repositories file and uncomment the community and testing repos. For 3.14.2, we need edge/community to get the correct software versions to support River:
Contents of /etc/apk/repositories
Install sudo and run visudo, uncommenting the desired permissions for the wheel group:
apk update apk add sudo && visudo
Logout and log back in as the new user.
Test ssh login from a remote computer.
Verify that you can run commands with sudo.
Installation
Install River and the documentation:
sudo apk add river river-doc mandoc
Edit the repositories file again to toggle back to the 3.14/community repository before installing additional software:
Contents of /etc/apk/repositories
Install your choice of additional applications:
This list includes icons, browser, fonts, and a terminal emulator named foot which is the default in River's sample init file that we will use later.
sudo apk add adwaita-icon-theme firefox foot ttf-dejavu
Running River
Before running River for the first time, copy the sample init file from /etc/river to ~/.config:
install -Dm0755 /etc/river/init -t ~/.config/river
Set seatd to start automatically at next boot and also manually start it for this session:
sudo rc-update add seatd sudo rc-service seatd start
Start River:
{{{1}}}
(if you run sway with seatd-launch, you will need to use $ XDG_RUNTIME_DIR=/tmp seatd-launch sway
)
See the Wayland page for a permanent configuration
swaylock needs to be able to read your /etc/shadow
file to be able to validate your password
Configuration and Usage
An example config is provided at /etc/sway/config
. Copy it to ~/.config/sway/config
and read through it to learn the default keybindings.
For additional information, start at man 5 sway
and read the upstream FAQ.