River

From Alpine Linux

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

http://dl-cdn.alpinelinux.org/alpine/v3.14/main #http://dl-cdn.alpinelinux.org/alpine/v3.14/community #http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing

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

Install your choice of additional applications:

sudo apk add adwaita-icon-theme \ # icons firefox \ # web browser foot \ # terminal emulator ttf-dejavu # fonts

Running Sway

To run sway, first set XDG_RUNTIME_DIR to a suitable location (e.g. /tmp). Install & configure elogind to skip this step. Then run sway from the Linux console:

$ XDG_RUNTIME_DIR=/tmp sway

(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

Note:

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.