Warning: THE VOID WIKI IS DEPRECATED. It is no longer being maintained, contains outdated and incorrect information, and will eventually be shut down. Please refer to the Void Handbook, https://docs.voidlinux.org/, for the official documentation. If you can't find the information you're seeking, please raise an issue at https://github.com/void-linux/void-docs/issues

Post Installation

From Void Linux Wiki
Jump to navigation Jump to search

This article provides a list of basic functions to perform after finishing the installation of Void.


After installation, the first thing you should do on your new void system is update your remote repository information and update your installed packages. This is especially important if you used the Local source during installation -- it is highly likely that at least some of your packages will be out of date. To update all packages to the most recent version, run:

# xbps-install -Suv

After updating your system, you may want to reboot depending on the updates installed (such as kernel updates).


Now is a good time to customize the running services. Void uses Runit as an init and service supervisor. Since the settings were most likely copied from the live system, there are possibly a few services running that you do not really need. Check the contents of /var/service and consider if you need each service. If you do not know or are unsure about a particular service better leave it in place. These are relatively safe bets:

  • You probably won't need 6 TTYs so you can safely delete some of the higher-numbered agetty-ttyX entries. Just make sure you leave at least agetty-tty1
  • You only need mdadm if you are using software RAID
  • If you do not plan to connect to this system via SSH from another computer you can remove sshd
  • If you are using a static network configuration you can (and should) remove dhcpcd

Note: You can always re-enable removed services later should you need them.


If your network provides configuration via DHCP the default setup should already work fine. If not you may need to enable the dhcpcd service first:

# ln -s /etc/sv/dhcpcd /var/service/dhcpcd

Should you need a static configuration, first get the necessary data:

  • Network interface name. I'll be using "enp0s3" in my example. The name can be obtained from the output of ip link on your system.
  • IP-Address, eg ""
  • Network mask, eg ""
  • Broadcast Address. eg ""
  • Gateway address. eg "" in my example

When you have the data, put these lines into/etc/rc.local and adapt them to your settings:

  # ip link set dev enp0s3 up
   # ip addr add brd + dev enp0s3
   # ip route add default via

Now, after you reboot, you should have a working network connection.

User Account

The next step is to create a user account, put it into all the appropriate groups and set a password for it.

First, create a user using the useradd command. The below example creates a user named voiduser, sets the user's default shell to bash, and adds the user to the wheel, users, audio, video, cdrom, and input groups:

# useradd -m -s /bin/bash -G wheel,users,audio,video,cdrom,input voiduser  

Note: the 'wheel' user group allows the user to escalate to root if they have the root password. It is also generally used to allow sudo privileges (see below).

Next, set the user's password using passwd:

# passwd voiduser

Note: Use your own shell instead of bash if you want, but you may need to install it first since only bash and dash are installed by default.

To allow this user (and other administrators) system access via the sudo you need to to configure that behaviour. Edit /etc/sudoers:

# visudo

and uncomment the line:

# %wheel ALL=(ALL) ALL

Graphical User Interface

At this point you have a fully functional Void Linux environment and a user account to use it. The next step is generally to setup a GUI. Void uses Xorg to provide a graphical environment. Please see the Xorg page for more information on installing and configuring Xorg.

This will help you get a basic XFCE setup running. You can chose any desktop environment or window manager you want; the steps are essentially the same for each one. The following commands assume you are logged in as root.

Install Xorg

# xbps-install -S xorg xterm
  Note:The _xorg_ package is a metapackage that installs pretty much everything closely related to Xorg. This will give you a quick start but will also clobber your system with many unneeded packages.

Install a Desktop Environment

In this example we will install xfce4.

# xbps-install -S xfce4

After installing xfce4 as root, run exit and log in with your user account, if you have not already done so.

Next, configure Xorg to use your keyboard layout (I am using "de" here) and desktop environment or window manager. Go to your home directory, create and edit the file .xinitrc and put these lines inside:

#  setxkbmap de /*Adapt to your own keyboard layout -- this sets German the keymap to QWERTZ */
#  exec startxfce4 /*Adapt to your installed DE/WM */

Lastly run startx to start an Xfce4 session.

Login Manager

Now that you have such a pretty GUI, you might find it tedious or ugly to login on the console and run startx every time. In that case, you can install a login manager that takes care of that much more fashionably. In this example I will use LightDM. For this to work you also need to enable the dbus service:

# xbps-install -S lightdm lightdm-gtk3-greeter
# ln -s /etc/sv/dbus /var/service/dbus
# ln -s /etc/sv/lightdm /var/service/lightdm

Note: In case you have problems logging in you may need to reboot, forcibly if necessary