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 used | Instead |
|---|---|
| elogind daemon | seatd + pam_rundir + doas |
| polkit | group membership + doas |
| NetworkManager | wpa_supplicant + dhcpcd + openvpn |
| sudo | doas |
| gvfs, udisks2 | udevil |
| ntfs-3g | kernel ntfs3 module |
| systemd, dinit | runit |
GNOME libraries are not a dependency of anything Atrium ships.