Void Linux

November 08, 2019

6 min read.

After 6 months of using pure arch with bspwm I got very accustomed to it, but I got bored as being someone who cant settle at all even if something is pretty solid at the current state (there is always another level), I thought about remaking my setup on another distro and my choices were very limited because I have specific requirements and expectations that a distro needs to at least cover some of them and if not all.

My requirements:

Nothing fancy really, since i believe arch is almost the perfect distro, my only issue with arch was kinda systemd (don’t start that) I don’t really hate it and I don’t really like it, I used OpenRC before and it run pretty good when Manjaro OpenRC was a thing.

  • no systemd
  • AUR like functionality
  • good and sensible default configurations
  • not widely used (call me an elitist)
  • solid package management and general system maintenance

With this list in mind not really a lot of distro’s come to mind, I thought of Gentoo and Void mainly and some other arch based distro’s, I was avoiding arch and can’t install Gentoo because of reasons if your reading this your probably aware of (imaging compiling a compiler) so I was left with Void.

Void is a distro I really don’t know anything about at all, I have thought of installing it before but was too lazy because well didn’t read there was an installer and so I assumed its like arch which is fine but takes time I don’t have (student life sucks bruh), after some googling I learned about their tui based installer and the fact that you have to run it manually which is fine (if you really came to install a distro like that you should be fine with this and even a no installer). So I downloaded the ISO and burned to my Sandisk and without making any backup of my arch i just plugged that thing in and started it.

getting the USB to actually boot

Had some really weird issue with the USB not booting on UEFI mode, it was only booting on legacy which i have abandoned since my arch installation because nothing beats UEFI stub, anyway i went to their reddit and searched for similar issues with no results which led my to their telegram and sent a recorded video of the issue and they suggested some fixes, non of which really worked, i was sure the issue is something to do with the partition table being dos so i manually edited the kernel boot string and replaced gpt with dos and after 20 second boom! It booted. At that time the ISO i was using was the vanilla one with no DE. So i went with the installation and had no issues with that at all.

the installer

The installer is nothing special really, its just a simple tui interface and it does what its supposed to do, the only issue here is that Void installs grub by default and if you wanted it to not do that you had to do the chroot installation method which i am avoiding because it takes longer, but its no issue because i can remove it later, after the install was over i rebooted to grub with no issues.

setting things up

the problem with installing a vanilla distro for daily usage is that you need to configure a lot of thing and i mean a lot, from installing X and a window manger to setting up input methods, configuring auto login etc…

on arch i used xfce settings to set some things in a easer and quicker way instead of every time modifying them via a terminal, so i had to install that but that pulls the whole xfce4 desktop and i am like bruh. There are some things which i entirely didn’t know how to setup because xfce settings did that for me on arch.

second install attempt

I decided installing the xfce edition and then stripping it would be the better option because well it is, i already had the xfce ISO, so burned and booted and installed same as before, after booting to xfce i proceeded to get things set up and it was a lot easier because again some things are ready.

as usual i installed bspwm, switched my shell and pulled my dots, got that done and rebooted fine with no issues, next i had to remove xfce and configure auto login and boot to bspwm, Void wiki had a very helpful article about that and it didn’t really take that long, my only issue was that i use zsh with which i automatically start a tmux session before even launching the actual shell, so X wasn’t starting from inside tmux, i solved that by using the ck method which also fixes my dbus issue (getting to that soon). Now we automatically boot to a fully fledged desktop nice.

Runit!

This was my first time ever using runit and its simplicity and speed are amazing compared to systemd or even OpenRC, boot times are around ~10, and shutdown is instant, goodbye waiting for network manager to exit and other systemd quirks.

what is even better is the way you enable services, just symlink the service file which comes with most packages that need it.
ln -s /etc/sv/something /var/service
and with that runit will start the service immediately, no more long systemctl commands or having to manually start services.

Audio

This was very surprising to me but audio wasn’t working, not on the live USB nor on the actual installation, this is literally the only thing i never had any issues with and always worked out of the box, all the distros i used before use pulseaudio but Void uses alsa, so i went on a google rampage again looking for answers, there were many cases on reddit some just solved it by unmuting the audio (seriously why is this a default) and others installed pulseaudio, unmuting didn’t do the trick for me so i installed pulse audio based on their wiki instructions, even after installing pulseaudio there was still no sign of working audio, on the wiki they mention enabling the pulseaudio service is a security risk but its the only thing that did it for me, as soon as i enabled the service audio started working and thats another crisis averted.

xbps-src

this is Void’s version of AUR which was really similar but with less packages, so next was installing spotify and wps-office, installed spotify but dbus wasn’t recognizing it for some reason so google.com again, the Void wiki had a page about that which had 2 possible solutions i ended up going with the ck method because it also goes around the abnormal shell behavior i have .

permissions

This is one of the things that’s really really messed up on Void, for example neovim couldn’t recognize neither python2 or 3 even tho they were installed and the environment is manually pointed to, the actual problem was that the python folder under /usr/lib is only accessible to root so i had to chown it, i faced the same issue with ruby and same situation with regular users not being able to change network, Void reddit says the user should be on the netdev group, but that group doesn’t even exist so i still haven’t found a workaround for that, i cant switch from Network Manager because its more convenient than others i have tried so far (wpa_supplicant for example).

current setup

it wouldn’t be a Linux post without flaunting some rices.

current rice

final thoughts

Well after installing few more packages and removing even more i had a super stable setup with most of my things working as intended or even better at some cases, i would say the effort put in is worth it, however it could be minimized if they just had saner defaults and more straight forward solutions to some issues.

for now i am sticking with this but who knows i might switch or pull some other random stunt as usual, Void gets a good non regular user rating from me personally, it is not user-friendly, this is a distro for those minimalists who are done with systemd and arch.

comments powered by Disqus
« Previous Post Next Post »

You might also like

init.nvim

init.nvim

An Opinionated Neovim Config for the Minimalists