d77void Docs
This is the community documentation of d77void: Void Linux, with runit and without systemd, ready to use with one of many window managers and desktops, each with its own configuration already in place.
These pages explain what each variant brings and where to change things: keyboard shortcuts, wallpaper, bar, autostart and the rest. Every detail is checked against the files the ISOs are built from.
Where to start
- New to d77void? Read What d77void is.
- Ready to install? See Installing.
- Want to change something? Read Where things are configured, then the page of your variant.
d77void Immutable
d77void Immutable, a variant where the system is a read-only image updated as a whole, has its own documentation: d77void Immutable Docs. What is written here about installing packages and updating does not apply to it.
Not affiliated with Void Linux
d77void is not affiliated with or endorsed by the Void Linux project or its maintainers. For general Void Linux topics, the Void Linux Handbook applies; these pages only cover what is specific to d77void.
License
This documentation is licensed under CC BY-SA 4.0.
What d77void is
d77void is Void Linux with a window manager or desktop already set up:
packages chosen, configuration files written, wallpapers, a login screen and
a few helper tools. Underneath it is a regular Void installation: xbps,
runit, and the Void repositories, plus d77void’s own repository for a few
extra packages.
Variants
Each variant is a separate ISO built around one window manager or desktop:
| Kind | Variants | Login screen |
|---|---|---|
| Wayland compositors | hyprland, labwc, mango, niri, river, scroll, somewm, spitfire, sway, wasp, wayfire | greetd |
| Wayland with a ready-made shell | fabric, helium, hypr-dms, hypr-noctalia, mango-dms, mango-noctalia, niri-dms, niri-noctalia, qsd77 | greetd |
| X11 window managers | awesome, bspwm, dwm, fluxbox, herbstluftwm, i3wm, jwm, leftwm, openbox, pwm, qtile, wmd77 | SDDM |
| Desktops | cosmic, gnome, lxqt, plasma, xfce | depends on the desktop (SDDM on Plasma) |
| Minimal | base | text console |
These pages currently cover wasp, Plasma, Sway, niri, Hyprland, labwc, mango, river, spitfire and Wayfire; more variants will follow.
d77void can be built for glibc (x86_64) and musl (x86_64-musl).
glibc builds come with Brave (LibreWolf on Plasma); musl builds with Firefox.
What every variant has
- The d77void identity:
/etc/os-releasesaysd77void GNU/Linux, withID_LIKE=void. - d77-welcome, a small graphical helper shown after installation, for common tasks: setting the root password, updating, installing an office suite, a browser, Flatpak, Steam, Bluetooth and more. See Updating and installing software.
- A ready configuration in your home, copied from the image when your user is created. See Where things are configured.
- d77run, a quick run dialog, bound to a key in most variants.
- runit services, as on any Void system.
How it differs from installing Void yourself
| Plain Void | d77void | |
|---|---|---|
| Base system | the same | the same |
| Desktop | you install and configure it | installed and configured |
| Installer | void-installer (text) | Calamares (graphical), or d77void-installer (text) on the ISOs without Calamares |
| Extra repository | none | d77void’s, for packages Void does not carry |
Everything else, such as xbps-install, runit services and the Void
Handbook, works as on plain Void.
Installing
The live session
Boot the ISO from a USB stick. The live session logs in as the user anon
(password voidlinux), and opens the installer by itself on ISOs that have
Calamares.
With Calamares
Most ISOs include Calamares, a graphical installer. In the live session it starts on its own; if you closed it, open it again from the menu.
Calamares asks for the language, keyboard, disk and user, then installs. At the end it also:
- adds d77void’s package repository to the installed system
(
/etc/xbps.d/d77void-repo.conf); - removes itself and its files from the installed system.
The keyboard layout chosen in Calamares is written for X11
(/etc/X11/xorg.conf.d/00-keyboard.conf). Wayland compositors read their
own setting; see Where things are configured.
Without Calamares
ISOs built without Calamares use a text installer:
sudo d77void-installer
Its menu goes through keyboard, network, source, mirror, hostname, locale,
time zone, root password, user account, boot loader, partitions and file
systems, like Void’s own void-installer. For Source, choose Local
(packages from the ISO image) to install the live system with its
configuration; Network installs only Void’s base system.
After installing
d77-welcome opens on every login until you press Don’t show this again. Use it to set the root password, update the system and install common software; see Updating and installing software.
Then read the page of your variant to learn its shortcuts.
Updating and installing software
d77void is a regular Void Linux system: software is installed and updated with xbps, from Void’s repositories and from d77void’s own.
Updating
sudo xbps-install -Su
Run it again if it says that xbps itself was updated first. Graphical
alternatives:
- OctoXBPS, a graphical package manager, included in most variants; several variants also start its notifier, which tells you when updates are available.
- d77-welcome, with Update Software Sources and Upgrade Installed Packages; see below.
Installing and removing software
xbps-query -Rs <word> # search
sudo xbps-install -S <package> # install
sudo xbps-remove -R <package> # remove, with what it pulled in
The Void Linux Handbook covers xbps in full.
d77void’s repository
Packages that Void does not carry (d77void’s tools, some window managers and
shells, Calamares) come from d77void’s repository on SourceForge. Calamares
adds it during installation, in /etc/xbps.d/d77void-repo.conf:
repository=https://sourceforge.net/projects/d77void/files/d77void-repo
On musl the address ends in d77void-musl instead.
d77-welcome can add two more optional repositories, Hyprland Repository
and Cosmic Repository, with d77void’s packages of those desktops
(hypr-d77 and cosmic-d77 on SourceForge).
d77-welcome
d77-welcome opens on every login until you press Don’t show this again. Run it again any time:
d77-welcome
It asks for your password when an action needs administrator rights, and
your user must be in the wheel group (administrators).
| Section | What it does |
|---|---|
| Set Root Password | sets a password for the root account |
| Update Software Sources | refreshes the package lists (xbps-install -S) |
| Upgrade Installed Packages | updates everything (xbps-install -Su) |
| Office | LibreOffice, or AbiWord and Gnumeric |
| Media & Graphics | GIMP, DeaDBeeF |
| Bluetooth | installs Bluetooth support and enables its service |
| Browser | Firefox, Chromium |
| Flatpak | installs Flatpak, adds your user to its groups, installs a Flatpak store |
| Steam | installs Steam |
| Hyprland Repository, Cosmic Repository | adds those optional repositories |
| Boot Animation | installs one of d77void’s two Plymouth boot animations |
Each action shows the packages and the command it runs before running it.
Services
Services are managed with runit, as on any Void system:
sudo sv status /var/service/* # what is running
sudo ln -s /etc/sv/<name> /var/service/ # enable a service
sudo rm /var/service/<name> # disable it
See the Void Linux Handbook.
Where things are configured
Your configuration is in your home
Each variant’s configuration ships in the image as a template, in
/etc/skel. When a user is created, the template is copied into that user’s
home, and from then on the copy in your home is the one that counts:
| What | Where |
|---|---|
| the window manager or compositor | ~/.config/<name>/, see your variant’s page |
| the bar (Waybar, on the variants that use it) | ~/.config/waybar/ |
| notifications (SwayNotificationCenter) | ~/.config/swaync/ |
| application launcher and power menu (fuzzel) | ~/.config/fuzzel/ |
| wallpapers | ~/Wallpaper/ |
| d77-welcome and a few start-up commands, run at each login until d77-welcome’s Don’t show this again deletes it | ~/.auto.sh |
Editing a file in /etc/skel changes nothing for users that already exist;
it only affects users created afterwards. To start over with a variant’s
original file, copy it from /etc/skel into your home again, for example:
cp /etc/skel/.config/sway/config ~/.config/sway/config
Keyboard layout
The installer writes the layout you chose for X11
(/etc/X11/xorg.conf.d/00-keyboard.conf), which X11 window managers use.
Wayland compositors take it from their own configuration file instead; each
variant’s page says where. For example, a Portuguese layout:
| Compositor | Setting |
|---|---|
| Sway | xkb_layout "pt" in the input type:keyboard block |
| niri | layout "pt" in the xkb block |
| Hyprland | kb_layout = "pt" |
| wasp | layout = "pt" in wasp.keyboard, in ~/.config/wasp/config.lua |
Wallpapers
The variants pick their wallpapers from ~/Wallpaper/ (also in
/usr/share/Wallpaper/). Put your own images there. How a variant sets or
changes the wallpaper is on its page; two helpers are shared:
| Command | What it does |
|---|---|
wswap-way | sets a random image from ~/Wallpaper/ with swaybg (Wayland) |
wswap-X | the same with feh (X11) |
Web browser
Key bindings, menus and bars open the browser through d77-browser, which
runs whichever one is installed: Brave on glibc builds, LibreWolf on Plasma,
Firefox on musl builds (ISOs built from 16 October 2026 on). To make those
keys open another browser, change the command in your variant’s configuration
from d77-browser to the one you want, for example firefox.
Power menu
Most Wayland variants use fuzzel-power-menu (suspend, log out, reboot, shut
down; reboot and shut down ask for confirmation). The X11 variants with dmenu
use power_menu. Both use loginctl, so they work in any window manager.
Night light
Several variants start wlsunset with the location of Porto, Portugal
(latitude 41.6, longitude −8.62), to warm the screen colours at night. Change
the numbers in the line that starts it, in your variant’s configuration, to
your own location.
Login screen
| Variants | Login screen | Configuration |
|---|---|---|
| Wayland compositors and shells | greetd, with a Quickshell greeter | /etc/greetd/config.toml and /etc/greetd/quickshell-d77/ |
| X11 window managers, Plasma | SDDM, theme slice | /etc/sddm.conf.d/sddm.conf |
wasp
wasp is a Wayland compositor in the style of dwm: windows are tiled
automatically, and workspaces are numbered tags. It is a fork of dwl with
its configuration in Lua, read again live, without recompiling. The desktop
shell on top (bar, launcher, lock screen, session menu, wallpaper picker) is
Utumno, driven by qsd77.
| Login screen | greetd |
| Terminal | Alacritty |
| Shell (bar, launcher, menus) | Utumno, through qsd77 |
| Notifications | dunst |
| Run dialog | d77run, and wmenu-run as the plain menu |
| Lock screen | Utumno’s, with Super + T or after 5 minutes idle |
Where to change things
Everything is in ~/.config/wasp/config.lua: key bindings, programs
started with the session (wasp.autostart), keyboard layout
(wasp.keyboard), terminal (wasp.terminal), layouts and colours. The file
explains itself and has examples. After saving it, press Alt + Shift + R
to apply it, with no need to log out.
The original is in /etc/skel/.config/wasp/config.lua.
Keys
Alt is the main modifier (wasp.modkey). Super (the Windows key) is
used for Utumno’s own actions.
| Keys | Action |
|---|---|
| Alt + Shift + Return | terminal |
| Alt + P | menu (wmenu-run) |
| Alt + ` (grave) | drop-down terminal |
| Super + Space | application launcher |
| Super + R | d77run |
| Super + T | lock screen |
| Super + X | session menu (log out, reboot, shut down) |
| Super + Y | wallpaper picker |
| Super + A | Ollama chat |
| Alt + Shift + C | close window |
| Alt + J / Alt + K | focus next / previous window |
| Alt + Shift + J / Alt + Shift + K | move window down / up the stack |
| Alt + Return | swap the window into or out of the main area |
| Alt + H / Alt + L | shrink / grow the main area |
| Alt + I / Alt + D | one more / one fewer window in the main area |
| Alt + T / F / M / R | layout: tile / floating / monocle / dwindle |
| Alt + Space | next layout |
| Alt + Shift + Space | float or tile the window |
| Alt + E | full screen |
| Alt + 1 … 9 | go to tag |
| Alt + Shift + 1 … 9 | move window to tag |
| Alt + 0 | show all tags |
| Alt + , / Alt + . | focus the monitor on the left / right |
| Alt + Tab | back to the previous tags |
screenshot to ~/screenshot-<date>-<time>.png | |
| Alt + Shift + R | reload config.lua |
| Alt + Shift + Q | quit wasp |
The drop-down terminal key is the one with ` on a US keyboard, left of
- Installations made from ISOs built before 16 October 2026 have it on
Alt + , instead, where it also stops Alt + , from focusing the left monitor;
change
"comma"to"grave"in itstoggle-scratchpadline to match.
Idle
After 5 minutes without input the screen locks, after 5.5 it turns off
(any key or mouse movement turns it back on), and it always locks before the
computer suspends. A full-screen video keeps it awake. This is the swayidle
entry in wasp.autostart; change the numbers of seconds there.
Installations made from ISOs built before 16 October 2026 do not have it. To add it, install the two programs:
sudo xbps-install -S swayidle wlopm
and add this entry to wasp.autostart in config.lua, then log out and in
again:
{ "swayidle", "-w",
"timeout", "300", "qsd77 -c utumno locker",
"timeout", "330", "wlopm --off '*'", "resume", "wlopm --on '*'",
"before-sleep", "qsd77 -c utumno locker" },
Wallpaper
Press Super + Y to pick one. Utumno’s wallpaper script sets it at start-up
(through awww); put your own images in ~/Wallpaper/.
Changing the keyboard layout
In config.lua:
wasp.keyboard = {
layout = "pt",
...
}
Then Alt + Shift + R.
Plasma
KDE Plasma, the full desktop, with KDE’s applications, configured with d77void’s look.
| Login screen | SDDM, theme slice |
| Browser | LibreWolf (Firefox on musl) |
| Text editor | Kate |
| Drop-down terminal | Yakuake |
| Package manager | OctoXBPS, or xbps in Konsole |
Where to change things
Almost everything is changed in System Settings: panel, widgets,
wallpaper, theme, keyboard layout and shortcuts. Plasma writes those choices
into files in ~/.config/ (kdeglobals, kwinrc,
plasma-org.kde.plasma.desktop-appletsrc and others); there is no need to
edit them by hand.
The original files are in /etc/skel/.config/.
Keys
Plasma’s own shortcuts apply: for example, the Super key opens the application launcher. Check and change them in System Settings → Shortcuts. d77void adds:
| Keys | Action |
|---|---|
| F12 | show or hide Yakuake (drop-down terminal) |
Keyboard layout
System Settings → Keyboard → Layouts.
Wallpaper
Right-click the desktop, Desktop and Wallpaper. d77void’s wallpapers are
in /usr/share/backgrounds/Wallpaper/.
Sway
Sway is a tiling Wayland compositor compatible with i3: windows are placed side by side automatically and workspaces are numbered. d77void installs SwayFX, a Sway with extra visual effects, and uses Sway’s own bar.
| Login screen | greetd |
| Terminal | kitty |
| Bar | Sway’s bar (swaybar), filled by ~/.config/sway/status.sh |
| Launchers | wmenu, fuzzel, nwggrid, d77run |
| Notifications | SwayNotificationCenter |
| Lock screen | swaylock, after 5 minutes idle (screen off after 10) |
Where to change things
| What | File |
|---|---|
| keys, programs started with the session, keyboard, gaps, wallpaper, idle | ~/.config/sway/config |
| what the bar shows | ~/.config/sway/status.sh |
| colour themes (Catppuccin) | ~/.config/sway/catppuccin-* |
| notifications | ~/.config/swaync/ |
| lock screen | ~/.config/swaylock/config |
| fuzzel launcher and power menu | ~/.config/fuzzel/ |
After saving config, press Super + Shift + C to reload it. The originals
are in /etc/skel/.config/.
Keys
Super is the modifier ($mod).
| Keys | Action |
|---|---|
| Super + Return | terminal |
| Super + D | wmenu |
| Super + P | fuzzel (application launcher) |
| Super + N | nwggrid (application grid) |
| Super + O | d77run |
| Super + X | power menu |
| Super + T | lock screen |
| Super + Y | random wallpaper from ~/Wallpaper/ |
| Super + G, or Print | screenshot of the whole screen (grim; a PNG named after the date and time) |
| Super + Shift + Q | close window |
| Super + H/J/K/L or arrows | focus left / down / up / right |
| Super + Shift + H/J/K/L or arrows | move window |
| Super + 1 … 0 | go to workspace 1 … 10 |
| Super + Shift + 1 … 0 | move window to workspace |
| Super + B / Super + V | split horizontally / vertically |
| Super + S / W / E | layout: stacking / tabbed / toggle split |
| Super + F | full screen |
| Super + Shift + Space | float or tile the window |
| Super + Space | switch focus between floating and tiled |
| Super + Shift + − / Super + − | send to / show the scratchpad |
| Super + R | resize mode (arrows or H/J/K/L; Return or Escape to leave) |
| Super + Shift + C | reload the configuration |
| Super + Shift + E | exit Sway |
Volume, microphone and brightness keys work, also on the lock screen.
Keyboard layout
In ~/.config/sway/config:
input type:keyboard {
xkb_layout "pt"
xkb_variant ""
}
Wallpaper
The line output * bg ~/Wallpaper/background3.png fill in config sets the
wallpaper at start-up; change the file name to use another image. Super +
Y picks a random one from ~/Wallpaper/ for the current session.
niri
niri is a scrollable-tiling Wayland compositor: windows are arranged in columns on an endless strip that scrolls sideways, and workspaces are stacked vertically.
| Login screen | greetd |
| Terminal | kitty |
| Bar | Waybar |
| Launchers | fuzzel, nwggrid, d77run |
| Notifications | dunst |
| Lock screen | swaylock, with Super + T or after 5 minutes idle; screen off after 10 |
| Browser | Brave |
Where to change things
| What | File |
|---|---|
| keys, programs started with the session, keyboard, outputs, layout | ~/.config/niri/config.kdl |
| the bar | ~/.config/waybar/ |
| fuzzel launcher and power menu | ~/.config/fuzzel/ |
| lock screen | ~/.config/swaylock/config |
niri applies config.kdl as soon as it is saved. The originals are in
/etc/skel/.config/.
Programs started with the session are the spawn-at-startup lines in
config.kdl.
Keys
Super is the modifier (Mod).
| Keys | Action |
|---|---|
| Super + Return | terminal |
| Super + D | fuzzel (application launcher) |
| Super + N | nwggrid (application grid) |
| Super + O | d77run |
| Super + B | web browser |
| Super + P | file manager (PCManFM) |
| Super + S | drop-down terminal |
| Super + T | lock screen |
| Super + X | power menu |
| Super + Q | close window |
| Super + Shift + O | overview of all windows |
| Super + 1 … 9 | go to workspace |
| Super + Ctrl + 1 … 9 | move column to workspace |
| Super + R | next preset column width |
| Super + F | maximize the column |
| Super + Shift + F | full screen |
| Super + C | center the column |
| Super + , / Super + . | take the next window into the column / put it out |
| Super + H/J/K/L or arrows | focus column left / window down / up / column right |
| Super + Ctrl + H/J/K/L or arrows | move column or window |
| Super + Shift + H/J/K/L or arrows | focus another monitor |
| Super + U / Super + I | workspace below / above |
| Super + Ctrl + U / Super + Ctrl + I | move column to the workspace below / above |
| Super + mouse wheel | change workspace |
| Super + Shift + 7 | list of shortcuts |
Volume and microphone keys work, also on the lock screen.
Idle
After 5 minutes without input the screen locks (swaylock), after 10 it turns
off and comes back on with any input, and it always locks before the computer
suspends. This is /usr/bin/screenlock, started with the session.
On installations made from ISOs built before 16 October 2026 the screen
locks but never turns off. To fix it, install wlopm:
sudo xbps-install -S wlopm
and, in /usr/bin/screenlock, replace both swaymsg "output * power off"
and swaymsg "output * power on" with wlopm --off '*' and wlopm --on '*'.
Keyboard layout
In config.kdl:
input {
keyboard {
xkb {
layout "pt"
}
}
}
Wallpaper
The wallpaper is set at start-up by sww, which shows
~/Wallpaper/background2.png with swww. To use another image now:
swww img ~/Wallpaper/<image>
Hyprland
Hyprland is a dynamic tiling Wayland compositor with animations and
rounded corners. In d77void its configuration is written in Lua
(hyprland.lua).
| Login screen | greetd |
| Terminal | kitty |
| Bar | Waybar |
| Launchers | fuzzel, nwggrid, d77run |
| Notifications | dunst |
| Lock screen | hyprlock, with Super + T or after 5 minutes idle (hypridle) |
| File manager, mail, browser | PCManFM, Geary, Brave |
Where to change things
| What | File |
|---|---|
| keys, programs started with the session, keyboard, monitors, look | ~/.config/hypr/hyprland.lua |
| the bar | ~/.config/waybar/config_hypr.jsonc and the style files next to it |
| lock screen | ~/.config/hypr/hyprlock.conf |
| idle: dim, lock, screen off | ~/.config/hypr/hypridle.conf |
| fuzzel launcher and power menu | ~/.config/fuzzel/ |
| wallpaper at start-up | ~/.azotebg-hyprland |
The programs the keys open are set near the top of hyprland.lua:
local terminal = "kitty"
local fileManager = "pcmanfm"
local menu = "fuzzel"
local mail = "geary"
local web = "d77-browser"
Programs started with the session are the hl.exec_cmd(...) lines. Hyprland
applies the file as soon as it is saved. The originals are in
/etc/skel/.config/hypr/.
Keys
Super is the modifier (mainMod).
| Keys | Action |
|---|---|
| Super + Return | terminal |
| Super + A | fuzzel (application launcher) |
| Super + N | nwggrid (application grid) |
| Super + R | d77run |
| Super + F | file manager |
| Super + W | web browser |
| Super + L | |
| Super + T | lock screen |
| Super + X | power menu |
| Super + M | log out |
| Super + Q | close window |
| Super + V | float or tile the window |
| Super + J | change the split direction |
| Super + P | pseudo-tile the window |
| Super + arrows | move focus |
| Super + 1 … 0 | go to workspace |
| Super + Shift + 1 … 0 | move window to workspace |
| Super + S | show or hide the special workspace |
| Super + Shift + S | move window to the special workspace |
| Super + mouse wheel | change workspace |
| Super + left / right mouse button | move / resize a window |
Volume, microphone, brightness and media keys work, also on the lock screen.
Idle
hypridle dims the screen after 2.5 minutes without input, locks it after
5 and turns it off after 5.5; it also locks before the computer goes to
sleep. Change the times in hypridle.conf.
Installations made from ISOs built before 16 October 2026 do not start
hypridle. To add it:
-
In d77-welcome, add the Hyprland Repository if it is not there yet (Hyprland’s packages come from it).
-
Install it:
sudo xbps-install -S hypridle -
In
~/.config/hypr/hyprland.lua, insidehl.on("hyprland.start", ...), add the line:hl.exec_cmd("hypridle")It starts with the next session; to start it now, run
hypridle &in a terminal.
Keyboard layout
In hyprland.lua, in the input settings:
kb_layout = "pt",
Wallpaper
At start-up, ~/.azotebg-hyprland sets the wallpaper with swaybg. To choose
another one, use Azote (included), which saves the image you pick for the
next start-up too, or edit the image path in that file.
labwc
labwc is a stacking Wayland compositor in the style of Openbox: windows float and overlap as on a classic desktop, with a right-click menu and window decorations, configured with XML files.
| Login screen | greetd |
| Terminal | kitty |
| Bar | Waybar |
| Launchers | fuzzel, nwggrid, d77run |
| Notifications | SwayNotificationCenter |
| Lock screen | swaylock, with Super + T or after 5 minutes idle; screen off after 10 |
| File manager, mail, browser | PCManFM, Geary, Brave |
Where to change things
All of labwc’s own files are in ~/.config/labwc/:
| File | What it holds |
|---|---|
rc.xml | key and mouse bindings, theme, touchpad |
autostart | programs started with the session, idle and lock settings |
environment | environment variables, including the keyboard layout |
menu.xml | the menu shown with a right click on the desktop |
themerc | window decoration colours |
| Other | File |
|---|---|
| the bar | ~/.config/waybar/config_labwc.jsonc and the style files next to it |
| notifications | ~/.config/swaync/ |
| lock screen | ~/.config/swaylock/config |
labwc-tweaks-qt, included, changes the theme and other settings from a
window. To apply changes to rc.xml or menu.xml, log out and in again, or
run labwc --reconfigure. The originals are in /etc/skel/.config/labwc/.
On every login ~/.lmu rebuilds menu.xml from the installed applications
(labwc-menu-generator), so edits to menu.xml are replaced; to keep a
hand-made menu, remove the ./.lmu & line from autostart.
Keys
Super is shown as W- in rc.xml.
| Keys | Action |
|---|---|
| Super + Return | terminal |
| Super + A | fuzzel (application launcher) |
| Super + N | nwggrid (application grid) |
| Super + R | d77run |
| Super + F | file manager |
| Super + M | |
| Super + W | web browser |
| Super + B | random wallpaper from ~/Wallpaper/ |
| Super + P | screenshot (grim) |
| Super + T | lock screen |
| Super + X | power menu |
labwc’s own default bindings also apply, for example Alt + Tab to switch windows and Alt + F4 to close one.
Keyboard layout
In ~/.config/labwc/environment:
XKB_DEFAULT_LAYOUT=pt
Log out and in again to apply it.
Wallpaper
The swaybg line in autostart sets ~/Wallpaper/background1.png at
start-up; change the file name to use another image. Super + B picks a
random one from ~/Wallpaper/ for the current session.
Weather in the bar
Waybar’s weather module, ~/.config/waybar/wittr.sh, asks wttr.in for the
weather at latitude 41.6, longitude −8.62 (Porto, Portugal); change the two
numbers in it to your own location.
mango
MangoWC (mango) is a Wayland compositor descended from dwl, with several
layouts (tiling, scrolling, dwindle and more), an overview of all windows,
animations and numbered tags as workspaces. It is configured with one text
file.
| Login screen | greetd |
| Terminal | kitty |
| Bar | Waybar |
| Launchers | fuzzel, nwggrid, d77run |
| Notifications | dunst |
| Lock screen | swaylock, with Super + T or after 5 minutes idle; screen off after 10 |
Where to change things
| What | File |
|---|---|
| keys, programs started with the session, keyboard, layouts, look | ~/.config/mango/config.conf |
| environment variables | ~/.config/mango/env.conf |
| the bar | ~/.config/waybar/ |
| fuzzel launcher and power menu | ~/.config/fuzzel/ |
Programs started with the session are the exec_once= lines. Press
Super + R after saving to reload the configuration. The originals are in
/etc/skel/.config/mango/.
Keys
Most actions use Alt; workspace and session actions use Super.
| Keys | Action |
|---|---|
| Alt + Return | terminal |
| Alt + Space | fuzzel (application launcher) |
| Alt + N | nwggrid (application grid) |
| Alt + R | d77run |
| Alt + Q | close window |
| Alt + Z | drop-down (scratchpad) |
| Alt + Tab | overview of all windows |
| Alt + F | full screen |
| Alt + A | maximize |
| Alt + \ (backslash) | float or tile the window |
| Alt + arrows | focus the window in that direction |
| Super + Shift + arrows | swap with the window in that direction |
| Super + Tab | focus the next window |
| Super + N | next layout |
| Ctrl + 1 … 9 | go to tag |
| Alt + 1 … 9 | move window to tag |
| Super + Left / Right | previous / next tag |
| Alt + Shift + Left / Right | focus the monitor on the left / right |
| Super + left mouse button / right mouse button | move / resize a window |
| Super + R | reload the configuration |
| Super + T | lock screen |
| Super + X | power menu |
| Super + M | quit mango |
Idle
After 5 minutes without input the screen locks, after 10 it turns off and
comes back on with any input, and it always locks before the computer
suspends. This is the exec_once=swayidle … line in config.conf.
Installations made from ISOs built before 16 October 2026 have no lock
screen; to add it, install swaylock, swayidle and wlopm and copy that
line and the bind=SUPER,t,spawn,swaylock -f line from
/etc/skel/.config/mango/config.conf of a newer ISO, or from this page:
exec_once=swayidle -w timeout 300 'swaylock -f' timeout 600 "wlopm --off '*'" resume "wlopm --on '*'" before-sleep 'swaylock -f'
bind=SUPER,t,spawn,swaylock -f
Keyboard layout
In config.conf:
xkb_rules_layout=pt
Wallpaper
The line exec_once=swaybg -i Wallpaper/d77void_2560x1600.png -m fill sets it
at start-up; change the file name to another image in ~/Wallpaper/.
river
river is a dynamic tiling Wayland compositor. Its configuration is a
shell script, init, that runs riverctl commands; the layout (where windows
go) is drawn by a separate program, rivertile. Workspaces are tags, as in
dwm.
| Login screen | greetd |
| Terminal | kitty |
| Bar | Waybar |
| Launchers | fuzzel, nwggrid, d77run |
| Notifications | SwayNotificationCenter |
| Lock screen | swaylock, with Super + T or after 5 minutes idle; screen off after 10 |
| File manager, mail, browser | PCManFM, Geary, Brave |
Where to change things
| What | File |
|---|---|
| keys, programs started with the session, keyboard, window rules, layout | ~/.config/river/init |
| the bar | ~/.config/waybar/config_river.jsonc and the style files next to it |
| notifications | ~/.config/swaync/ |
| lock screen | ~/.config/swaylock/config |
Programs started with the session are the riverctl spawn lines. init runs
when river starts, so log out and in again after changing it (or run a single
riverctl command in a terminal to try it right away). The original is in
/etc/skel/.config/river/init.
Keys
Super is the modifier.
| Keys | Action |
|---|---|
| Super + Shift + Return | terminal |
| Super + A | fuzzel (application launcher) |
| Super + N | nwggrid (application grid) |
| Super + R | d77run |
| Super + Shift + F | file manager |
| Super + M | |
| Super + W | web browser |
| Super + P | screenshot (grim) |
| Super + T | lock screen |
| Super + X | power menu |
| Super + Q | close window |
| Super + J / Super + K | focus next / previous window |
| Super + Shift + J / Super + Shift + K | swap with the next / previous window |
| Super + Return | move the window to the main area |
| Super + H / Super + L | shrink / grow the main area |
| Super + Shift + H / Super + Shift + L | one more / one fewer window in the main area |
| Super + arrows | put the main area at the top, right, bottom or left |
| Super + Space | float or tile the window |
| Super + F | full screen |
| Super + 1 … 9 | go to tag |
| Super + Shift + 1 … 9 | move window to tag |
| Super + 0 | show all tags |
| Super + Shift + P | show or hide the scratchpad |
| Super + Shift + O | send the window to the scratchpad |
| Super + . / Super + , | focus the next / previous monitor |
| Super + left / right / middle mouse button | move / resize / float a window |
| Super + F11 | pass all keys to the window (again to return) |
| Super + Shift + E | exit river |
Idle
After 5 minutes without input the screen locks (swaylock), after 10 it turns
off and comes back on with any input, and it always locks before the computer
suspends. This is /usr/bin/screenlock, started with the session.
On installations made from ISOs built before 16 October 2026 the screen
locks but never turns off. To fix it, install wlopm:
sudo xbps-install -S wlopm
and, in /usr/bin/screenlock, replace both swaymsg "output * power off"
and swaymsg "output * power on" with wlopm --off '*' and wlopm --on '*'.
Keyboard layout
In init:
riverctl keyboard-layout pt
Wallpaper
The line riverctl spawn "swaybg -i ~/Wallpaper/background1.png" sets it at
start-up; change the file name to another image in ~/Wallpaper/.
spitfire
spitfire is a tiling Wayland compositor in the spirit of dwm, written by
the d77void author, with its whole configuration in one Lua file that is read
again live. The desktop shell on top (launcher, lock screen, session menu,
wallpaper picker, on-screen volume) is Utumno, driven by qsd77, as on
wasp.
| Login screen | greetd |
| Terminal | Alacritty |
| Shell (launcher, menus) | Utumno, through qsd77 |
| Notifications | dunst |
| Run dialog | d77run |
| Lock screen | Utumno’s, with Super + Z or after 5 minutes idle |
Where to change things
Everything is in ~/.config/spitfire/config.lua: key bindings
(spitfire.bind), programs started with the session (spitfire.autostart),
keyboard (spitfire.keyboard), gaps, borders and colours. After saving it,
press Super + Shift + R (or run spitfirectl reload) to apply it.
The original is in /etc/skel/.config/spitfire/config.lua.
Keys
Super is the main modifier; Alt moves windows between workspaces.
| Keys | Action |
|---|---|
| Super + Return | terminal |
| Super + S | drop-down terminal |
| Super + A | application launcher |
| Super + R | d77run |
| Super + X | session menu (log out, reboot, shut down) |
| Super + Y | wallpaper picker |
| Super + Z | lock screen |
| Super + Q | close window |
| Super + J / Super + K | focus next / previous window |
| Super + Shift + J / Super + Shift + K | swap with the next / previous window |
| Super + H / Super + L | shrink / grow the main area |
| Super + I / Super + D | one more / one fewer window in the main area |
| Super + T / F / M | layout: tile / fibonacci / monocle |
| Super + Shift + Space | floating layout |
| Super + Space | next layout |
| Super + 1 … 9 | go to workspace |
| Alt + 1 … 9 | move window to workspace |
| Super + Shift + R | reload config.lua |
| Super + Shift + Q | quit spitfire |
The volume keys show Utumno’s on-screen volume.
Idle
ISOs built from 16 October 2026 on start swayidle from spitfire.autostart:
the screen locks after 5 minutes without input and before the computer
suspends. It needs spitfire 0.5.3 or later (xbps-query -p pkgver spitfire);
with an older spitfire, swayidle simply exits. Turning the screen off when
idle is not available on spitfire yet.
To add it to an older installation, update the system, install swayidle,
and add this line to spitfire.autostart, then log out and in again:
"swayidle -w timeout 300 'qsd77 -c utumno locker' before-sleep 'qsd77 -c utumno locker'",
Keyboard layout
In config.lua, the default is the US international layout:
spitfire.keyboard = { layout = "us", variant = "intl", model = "", options = "", repeat_delay = 600, repeat_rate = 25 }
For a Portuguese layout, set layout = "pt" and variant = "".
Wallpaper
Press Super + Y to pick one from ~/Wallpaper/.
Wayfire
Wayfire is a Wayland compositor with visual effects (a 3D desktop cube, wobbly windows, workspace overview), built from plugins. Windows float by default, as on a classic desktop; the panel, dock and wallpaper come from wf-shell.
| Login screen | greetd |
| Terminal | kitty |
| Panel, dock, wallpaper | wf-shell (wf-panel, wf-dock, wf-background) |
| Run dialog | d77run |
| Notifications | dunst |
| Log-out screen | wlogout |
| Lock screen | swaylock, with Super + T or after 5 minutes idle |
| File manager, mail, browser | PCManFM, Geary, Brave |
Where to change things
| What | File |
|---|---|
| keys, plugins, programs started with the session, keyboard, effects | ~/.config/wayfire.ini |
| panel, dock and wallpaper | ~/.config/wf-shell.ini |
| log-out screen | ~/.config/wlogout/ |
| lock screen | ~/.config/swaylock/config |
WCM (Wayfire Config Manager), included, changes wayfire.ini from a
window: plugins, key bindings and effects. Wayfire applies changes to
wayfire.ini as soon as the file is saved. The originals are in
/etc/skel/.config/.
Programs started with the session are in the [autostart] section of
wayfire.ini; key-to-command bindings are in the [command] section, as
pairs such as binding_terminal = <super> KEY_ENTER and
command_terminal = kitty.
Keys
| Keys | Action |
|---|---|
| Super (alone) | the panel’s application menu |
| Super + Return | terminal |
| Super + R | d77run |
| Super + F | file manager |
| Super + M | |
| Super + W | web browser |
| Super + T | lock screen |
| Super + X | log-out screen (wlogout) |
| Super + Q, or Alt + F4 | close window |
| Super + E | overview of all workspaces (then 1 … 9 to pick one) |
| Ctrl + Super + arrows | go to the workspace in that direction |
| Ctrl + Shift + Super + arrows | take the window to the workspace in that direction |
| Super + Left / Right / Up | window to the left half / right half / maximized |
| Super + Down | restore the window’s size |
| Alt + Esc | quick switch between windows |
| Ctrl + Super + F | fisheye effect |
| Super + Z | turn the screensaver and screen-off timer on or off |
screenshot (grim) |
Volume and brightness keys work.
Idle
After 5 minutes without input the screen locks (swaylock, from the idle =
line in [autostart]), and it always locks before the computer suspends.
Wayfire’s own idle plugin ([idle] in wayfire.ini) also starts a
screensaver (the spinning cube) at 5 minutes and turns the screen off at 10;
a full-screen window prevents both, and Super + Z switches them off and
on.
On installations made from ISOs built before 16 October 2026 the screen does
not lock by itself. To fix it, replace the idle = line in [autostart]
with:
idle = swayidle -w timeout 300 'swaylock -f' before-sleep 'swaylock -f'
Keyboard layout
In the [input] section of wayfire.ini:
xkb_layout = pt
Wallpaper
The wallpaper is drawn by wf-background, from the image = line in the
[background] section of ~/.config/wf-shell.ini
(/usr/share/Wallpaper/background3.png at first). Point it at any image,
for example one in ~/Wallpaper/.