Switching from Arch Linux to Void Linux — Guide

Quick notes, command mappings, checklist and things to watch for when migrating.

Why switch?

Void Linux is an independent, rolling-release distribution that uses runit by default (though other init systems are possible), the xbps package manager, and focuses on simplicity and clarity. People pick Void for predictable init, small base system, musl builds, and fewer systemd dependencies.

Big differences you need to know

  • Init system: Arch uses systemd; Void uses runit (service supervision).
  • Package manager: pacman vs xbps (xbps-install, xbps-query, xbps-remove).
  • Repositories: Void's repos are curated — not an AUR equivalent; community builds exist (e.g., xbps-src).
  • Musl vs glibc: Void supports musl and glibc images; Arch is glibc-only by default.
  • Philosophy: Minimal base, BSD-style init scripts, less auto-magic; expect to configure things manually.

Package management & common command mappings

Here are quick command translations so you can map your pacman knowledge to xbps:

Actionpacmanxbps
Install packagepacman -S packagesudo xbps-install -S package
Remove packagepacman -Rns packagesudo xbps-remove -R package
Update database & systempacman -Syusudo xbps-install -Su
Searchpacman -Ss termxbps-query -Rs term
List installedpacman -Qexbps-query -l
Download & build from sourcesAUR helpersxbps-src (xbps-src builds packages from templates)

Init and services: runit basics

runit organizes services in /etc/sv and uses symlinks in /var/service. Each service directory contains a run script and optionally a finish script.

Common commands:

sudo ln -s /etc/sv/sshd /var/service
sudo sv down sshd  # stop
sudo sv up sshd  # start/restart

Installation tips

  1. Pick the right image: glbic if you need wide software compatibility, or musl if you want a lightweight musl-based system.
  2. Read the Void handbook (installer is not identical to Arch's installers; it uses a simple guided script or manual steps).
  3. If you rely on AUR packages, plan to use xbps-src or build locally. Some packages may not exist in Void repos.
  4. Decide on network setup tools: NetworkManager, dhcpcd, wpa_supplicant are available — pick what fits your workflow.
  5. Swap systemd-only software? Search for systemd-free alternatives or consider running with the systemd compatibility layer where possible.

Common pitfalls

  • Missing AUR packages: not everything on Arch's AUR exists on Void; expect to build or adapt.
  • Systemd-only apps: some software expects systemd — research or accept trade-offs.
  • Services layout: runit has a different mental model — enabling vs linking services is different than enabling a systemd unit.
  • Rolling differences: Void is rolling but curated; packages may lag or be maintained differently than Arch's upstream-forward model.

Useful post-install commands

sudo xbps-install -Su    # update
sudo xbps-install -S base-system    # example: install base meta
sudo xbps-install -S linux    # install kernel (virtual package 'linux')
sudo xbps-reconfigure -f glibc-locales    # if you need to reconfigure locales (glibc images)
sudo xbps-reconfigure -fa    # To reconfigure everything

Resources & further reading

  • Void Linux handbook and wiki (search official Void docs).
  • xbps-src manual — building packages from source.
  • runit basics and examples.