Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The system underneath

Atrium runs on a deliberately small base. This page lists what it expects from the system and what it does not use. atrium-setup/setup.sh applies all of it to a stock Void install; read it as the executable version of this page.

Session foundation

Kernel (DRM, input, udev)
  ↑
seatd          device broker, runit service; user in group _seatd
  ↑
libseat        auto-detects seatd
  ↑
atrium

PAM            greetd, doas, lock screen
  ↑
pam_rundir     creates /run/user/$UID at login

doas           privilege escalation (/etc/doas.conf)
udevil         removable media, setuid, no daemon
D-Bus          transport only: wpa_supplicant, PipeWire, portals

No runtime authorization daemon. Access is group membership at login: wheel (doas, wpa_supplicant control), _seatd, video, audio, plugdev, storage, network.

/etc/pam.d/system-login carries -session optional pam_rundir.so in place of pam_elogind.so.

Network

wpa_supplicant and dhcpcd as runit services, up before login; openvpn and wireguard on demand through doas. wpa_supplicant runs with -u so atrium-network can talk to it over D-Bus, and the wheel-group D-Bus policy lives in a drop-in file (/etc/dbus-1/system.d/wpa_supplicant-wheel.conf), never in the package’s own conf, which xbps overwrites on update.

Audio

PipeWire with WirePlumber. spawn-at-startup "pipewire" in config.kdl is the only launch line: PipeWire starts WirePlumber through its own config drop-in.

Logging

Void ships no syslog. Atrium’s setup installs socklog-void and enables nanoklogd (kernel ring buffer to disk) and socklog-unix. Logs are under /var/log/socklog/, root-owned. Without this a GPU fault leaves no record.

Patched packages

Three Void packages are rebuilt from templates in atrium/xbps-templates:

  • quickshell, built without polkit, UPower, Hyprland, and i3 integration.
  • xwayland-satellite, carrying an upstream pull request so X11 self-minimize iconifies instead of vanishing.
  • nvidia, the closed kernel module with GSP firmware disabled on Turing, which keeps the box alive through a GPU fault.

Plus seatd built without the elogind option (a stock build flag, no template change). Until the binary package repository exists these are built with xbps-src in a void-packages checkout; the templates repo’s bin/sync-to-tree copies them in.

Not used

Not usedInstead
elogind daemonseatd + pam_rundir + doas
polkitgroup membership + doas
NetworkManagerwpa_supplicant + dhcpcd + openvpn
sudodoas
gvfs, udisks2udevil
ntfs-3gkernel ntfs3 module
systemd, dinitrunit

GNOME libraries are not a dependency of anything Atrium ships.