Introduction

Welcome to the my VoidLinux backup wiki! These are my personal notes to guide me through installing Void Linux Base image and create a customised version of an Openbox desktop with the X11 display server and Pipewire for sound. If others are able to make use of it that's great too, I will attempt to make this wiki more legible over time. During the install you will use the following credentials:

Username 'root' and the password 'voidlinux'

Prerequisites

NOTE: On the download page you have a choice of glibc or musl. If you are unsure which one you would like to use choose glibc.


XBPS Package Manager

The package manager for Void is XBPS and the following commands will get you started:

sudo xbps-install -S (syncs mirrors)
sudo xbps-install -Su (updates installed software)
sudo xbps-query -Rs item-to-search-for
sudo xbps-install -S item-to-install
sudo xbps-remove item-to-remove

For a more in-depth description see: Void Linux XBPS Package Manager

Installation

Run the folowing command to start the install process:
# void-installer

NOTE: Install the network version - not local

Partitioning

Use CFdisk for partioning and use DOS (MBR) for BIOS systems (gpt for efi)
NOTE: I use 3 Primary partions for my MBR install:

reboot after install

User not created after install

# useradd -m username
# passwd username (then follow prompts)
# usermod -a -G wheel,floppy,audio,video,cdrom,optical,kvm,xbuilder username
# mkdir Documents Downloads Music Pictures Public videos
# su username
$ mkdir Documents Downloads Music Pictures Public videos

Setup mirrors including non free repository

$ sudo xbps-install -Su xbps
$ sudo xbps-install -S void-repo-nonfree
$ sudo mkdir -p /etc/xbps.d
$ sudo cp /usr/share/xbps.d/00-repository-main.conf /etc/xbps.d/
$ sudo cp /usr/share/xbps.d/10-repository-nonfree.conf /etc/xbps.d/

NOTE: Edit the config files to a repository near you using Void Mirrors as a guide, keep /current at the end eg https://repo-de.voidlinux.org/current

$ sudo xbps-install -S (to sync mirrors)
$ sudo xbps-install -Su (to check for updates)

I use xorg for my display server, dbus for inter-process comms, elogind tracks logged in users and I prefer to use vim rather than vi. I also install psmisc proc filesystem utilities for killall etc.
$ sudo xbps-install -S xorg dbus elogind vim psmisc

Create symbolic links to auto run services:
$ sudo ln -s /etc/sv/dbus /var/service
$ sudo ln -s /etc/sv/elogind /var/service

Now start those services:
$ sudo sv up dbus
$ sudo sv up elogind

Set keyboard layout if needed:
$ sudo setxkbmap -layout gb


Window Manager

First I install the basic packages I need for Openbox and that includes xterm as you will be able to access that terminal from the right-click menu when you first log in to Openbox. Once the menu has been configured you can access the other programs installed on your system. Obmenu-generator will help us with that, picom is a compositor, tint2 handles our panel / taskbar and lightdm is our display manager.
$ sudo xbps-install -S openbox obconf obmenu-generator picom tint2 xterm lightdm lightdm-gtk3-greeter

Now I install other desktop related tools
$ sudo xbps-install nitrogen xdg-desktop-portal-gtk lxappearance gnome-backgrounds mate-backgrounds nerd-fonts nerd-fonts-otf

I then grab networking tools
$ sudo xbps-install -S NetworkManager avahi nss-mdns

and some essentials
$ sudo xbps-install -S git curl wget alacritty fontmanager firefox dmenu cups system-config-printer Thunar leafpad

NOTE: Polkit will be installed with the above as a dependency

Let's start some more services:
$ sudo ln -s /etc/sv/cupsd /var/service
$ sudo ln -s /etc/sv/avahi-daemon /var/service
$ sudo sv up cupsd
$ sudo sv up avahi-daemon

NOTE: If you are installing on a VM you may need to edit picom.conf and comment out the vsync entry. I usually like to create my own configs as I learn over time but in this case my picom.conf is copied directly from Derek Taylor's (DistroTube) gitlab dotfiles repo as I am still studying picom and it's options. For now I will be staying with DT's config as it is a very readable, short-and-to-the-point config file and is well commented.


Edit lightdm conf

$ sudo vim /etc/lightdm/lightdm.conf
type /Seat to search for that section, uncomment greeter-session and change to your greeter
eg lightdm-gtk3-greeter
:wq to write the file and quit vim.

$ sudo ln -s /etc/sv/lightdm /var/service

Now login using your new graphical login manager


Now install some favourites

$ sudo xbps-install btop exa starship tldr neofetch ImageMagick feh gimp inkscape libreoffice
NOTE: My rc.xml config assigns ImageMagick to the print screen key for screen shots.


Create and edit autostart

$ vim .config/openbox/autostart

Enter the following lines (change xrandr to reflect your display):

                
  xrandr --output Virtual-1 --mode 1920x1080 --rate 60 
  tint2 & 
  nitrogen --restore
                
                

or you could just git clone my dotfiles
$ git clone https://github.com/testpilotuk/myVoidLinuxBup.git

Set a new background using nitrogen by clicking preferences and adding the directories for the backgrounds you installed.

Now logout and log back in to check everything is working as expected.


Sound with Pipewire

$ sudo xbps-install -S pipewire wireplumber qpwgraph
For a complete tutorial on the initial setup of Pipewire read Yurifuko's Wiki

Edit .config/openbox/autostart and add pipewire & to the file like this:

                
  xrandr --output Virtual-1 --mode 1920x1080 --rate 60 & 
  picom --config ~/.config/picom/picom.conf &
  pipewire &
  (sleep 2s && nitrogen --restore --set-scaled) &
  tint2 &
                    
                

and now reboot with: $ loginctl reboot


Some customisation

$ sudo xbps-install breeze gnome-themes-standard
$ obmenu-generator -p
(to generate a menu based on installed apps)

Edit the .config/obmenu-generator/config.pl and change geany to leafpad (unless you decided to install geany).

Go to your right click menu and choose advanced settings > obmenu-generator > Menu Schema and change the menu default apps to ones you have installed

For some nice openbox themes:
$ git clone https://github.com/addy-dclxvi/openbox-theme-collections ~/.themes

For some nice tint2 themes:
$ git clone https://github.com/downthecrop/tint2-theme-collections.git ~/.config/tint2

$ obconf (openbox theme changer - I chose Raven)
$ lxappearance (gtk theme changer - I chose Adwaita-dark)

Improve firefox font rendering by taking away bitmap fonts
$ sudo ln -s /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf /etc/fonts/conf.d/


Creating a Logout UI

For this I use Clearine - see okitavera's github page
$ sudo xbps-install -S clearine

Copy /etc/clearine.conf to ~/.config/clearine.conf and change the commands as we are using elogind:
restart = loginctl reboot
shutdown = loginctl poweroff

Or just copy my config over to ~/.config/ Also, it would be a good idea to read the Void Linux Power Management page.


Reference

All text is taken from my github page