Exploring Void Linux: Customizing a Minimal Environment to Suit Your Preferences

 2024-08-17

 Void Linux

This article is the English version of the article titled ‘最小環境から自分の好みにカスタマイズできるLinuxディストリビューションVoid Linuxを使ってみた’.

Why not try Void Linux?

Have you heard of a Linux distribution called Void Linux? Recently, I have installed and am using Void Linux on my main machine. If you are reading this article and are thinking, “I’ve used Ubuntu as an introduction to Linux, but I would like to try other distributions,” or “What is a good distribution that can be built from a minimal environment and used for daily use?”, then Void Linux might be a good choice. In this article, I would like to write about my impressions of using Void Linux.

What is Void Linux?

Void Linux is an independent distribution designed from scratch and is not based on other distributions. It has the following features:

  • Rolling release
  • Package management using XBPS
  • Uses runit for init and service management
  • Customization possible from a minimal environment

I think there are some similarities with Arch Linux in terms of rolling release and building an environment from a minimal environment. On the other hand, it is different in that Arch Linux uses Systemd for init and service management, while Void Linux uses runit. Below, I would like to introduce some of the features of Void Linux.

Use the TUI installer for installation

Installing Void Linux is not that difficult for users who have experience installing Slackware, Arch Linux, or Gentoo Linux. On the other hand, it may be a little difficult for those who have only ever used Ubuntu. If you want to install Void Linux in its minimum configuration, you will need to use the TUI installer. There is also a version with the Xfce desktop environment, but we recommend installing in its minimum configuration to enjoy the pleasure of selecting everything from the minimum environment of Void Linux and building it.

You can install the Void Linux installer from Download Void Linux.

The installer is displayed in English on the TUI screen shown below. You may be worried about the lack of Japanese display, but if you remember what you need to do during installation, it is not difficult at all. Basically, it involves setting the keyboard layout, partitioning the storage, setting the network, hostname, password, time zone, installing the boot loader, etc. Basically, you can complete the installation by answering the installer’s questions.

installer

Independent distribution that can be built from a minimal environment

Void Linux comes in a base version with no desktop environment, which is a simple console only, and an Xfce version with the Xfce desktop environment pre-installed. Void Linux has many desktop environments, so you can install the base version and customize it freely to your liking. It may be a little difficult for those who are used to Linux distributions such as Ubuntu, which aim to be ready to use as soon as they are installed, but once you experience the fun of customizing, you may become addicted. Personally, I like to keep the system simple by putting only the minimum packages I use in the minimal environment.

Use runit instead of Systemd for init

In recent years, many major Linux distributions such as Ubuntu, Debian, Fedora, and Arch Linux have adopted Systemd for init systems and service management, and some people who have recently started using Linux may have never used an init system other than Systemd. However, there are many types of Linux init systems, such as the SysV-based init that has been around since before the appearance of Systemd, the OpenRC standard in Gentoo, and the BSD-style init system used in Slackware. Void Linux uses an init system called runit.

If you are used to Systemd, you may be confused at first because you cannot use the systemctl command, but once you learn the simple rules of runit, you will quickly get used to it and be able to use it. In runit, you enable each service under /etc/sv/ by linking it to /var/service/. The following commands are used to start, stop, restart, and display the status of a service.

OperationCommand
Startsv up <service name>
Stopsv down <service name>
Restartsv restart <service name>
Display statussv status <service name>

Package management is done with the XBPS system

Void Linux uses a package management system called XBPS (The X Binary Package System), which was developed from scratch. It is easy to use and is not much different from APT, DNF, or Pacman. You can easily search for online packages, add and remove them, search for local packages, and update the system. The number of packages is not as many as Debian or Arch Linux, but most of the major packages are available in the official repository.

Below are the basic XBPS commands. Note that operations that affect the system, such as installation and updates, require root privileges.

OperationsCommands
Installationxpbs-install <package name>
Search online repositoriesxpbs-query -Rs <package name>
Removing packagesxpbs-remove <package name>
Updating the systemxpbs-install -Su

Wide selection of desktop environments

As mentioned above, there is an Xfce version with Xfce pre-installed, but Void Linux also allows you to freely choose other desktop environments. Famous ones such as GNOME, KDE, Xfce, LXDE, LXQt, MATE are all available, and Wayland compositors such as Sway, Labwc, and Wayfire are also available. Please try building your favorite desktop environment.

I wrote an article about how I introduced labwc in Building a lightweight and practical Wayland desktop environment with Labwc on Void Linux. Please refer to it. The image is the desktop environment I built with labwc on Void Linux.

void labwc

About the Japanese environment

Like many Linux distributions, it supports multiple languages, so it also supports Japanese. For Japanese localization, you need to manually install packages such as locale settings, Japanese fonts, and input methods for Japanese input. If you have experience with Gentoo or Arch, you should be able to get the gist of what you need to do. Unlike Ubuntu or Fedora, you can select Japanese from the installation screen and have the settings completed automatically, but the official repository has all the necessary packages, so you can install and configure it with XBPS and set up a Japanese environment without any problems.

I have included an article about how I built a Japanese environment Building a Japanese environment in a Void Linux + hikari environment for your reference.

How was it when you used it?

This introduction to Void Linux has gotten quite long, but I will write my personal impressions of how it was when I used it. I think it is not much different from Arch Linux in terms of usability. Most of the packages I wanted to use are available in the official repository, and if you use cross-platform packages such as flatpak, I think it is a system that is easy to use as an OS for everyday use.

From here, I would like to look at Void Linux while comparing it with Arch Linux. Arch Linux has a strong community backing in the Arch wiki and AUR, but Void Linux does not have as much documentation, and there is no semi-official repository posted by users like AUR. However, there is a system called xbps-src that builds packages from source code similar to ABS (Arch Built System), and packages that cannot be distributed in binary form due to licensing issues can be built from void-packages. Also, there are not many articles written about Void Linux in Japanese, so most of them are searched in English. This may be a high hurdle for Japanese users.

Summary

I have written a brief overview of Void Linux and my impressions of using it. It has a similar simplicity to Arch Linux, such as rolling releases and a unique package management tool developed from scratch, but it is a compact distribution that is not as large as Arch Linux. If you use Arch Linux and would like to try a distribution that is similar to it but a little different, why not give Void Linux a try?