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'
- A working ISO of a X86_64 VoidLinux base Live Image burned to a USB stick
- Knowledge of how to boot from a USB
- Previous experience installing linux
- Confidence in using the command line
- Time to spare and a willingness to try
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.
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
Run the folowing command to start the install process:
# void-installer
NOTE: Install the network version - not local
Use CFdisk for partioning and use DOS (MBR) for BIOS systems (gpt for efi)
NOTE: I use 3 Primary partions for my MBR install:
- boot vFAT32 = 1GB
- swap = 2x Ram
- / = rest of disk
reboot 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
$ 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
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.
$ 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
$ 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.
$ 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.
$ 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
$ sudo xbps-install breeze gnome-themes-standard (to generate a menu based on installed apps)
$ obmenu-generator -p
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/
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.
All text is taken from my github page