I entered the void... and left it

This week's distrohopping is Void Linux! We'll see the pros and cons and my configuration notes again. Hope you enjoy!

Pros

Cons

Notes

My partitioning scheme was the same as NixOS: 8GB of swap, 40GB of root, and the rest in /home. I almost put less for root but I wasn't in the mood for it, and I remembered my Artix was almost full with all the packages I installed, so I kept it like that

Different from NixOS, Void actually setted up my swap partition correctly

Some people have said XBPS is so fast that while pacman is installing a package XBPS already upgraded the entire system, but I didn't notice a difference, maybe because I'm using the default server.

To install librewolf I needed flatpak, which I'm not a fan of, but it's the only way. I had some issues installing because I didn't have elogind and because I wrote the flathub repo wrong but after that everything went fine.

I made a symlink for librewolf to be able to launch it from dmenu as per curioswati/flatpak-dmenu.md

To reboot and poweroff I need to use sudo, just like in Artix. A little inconvenient but ok.

It reboots and poweroffs extremely fast.

Helvetica font in Github in Librewolf was showing pixelated, jagged. I tried a bunch of things, linking 70-no-bitmaps, setting aliases and other settings in .config/fontconfig, installing xdg-portal, installing fontconfig-32bit, installing fontconfig-devel... I installed noto-fonts-ttf and that fixed Github, which took effect immediately after installing, and because Github put Noto Sans before Helvetica in the CSS, but it didn't fix Helvetica being pixelated. Hours and hours of research and I was starting to suspect it was flatpak's sandboxing so I searched a bit and found this post: Flatpak doesn't follow custom fontconfig file, so I put 70-no-bitmaps in .var/app/io.gitlab.librewolf-community/config/fontconfig/conf.d and it worked! Thanks u/_SuperStraight and u/kevinlekiller! Now I have a reason to not like flatpak.

In NixOS Tamzen was only in XFT, and in Void it is only in pcf and otb, and it doesn't show up in xfontsel. I had to add the directory to xset with xset +fp /usr/share/fonts/misc (and add it to .xinitrc to load everytime) to make it appear in xfontsel.

I was able to set Adwaita cursor by putting Xcursor.theme: Adwaita in .Xresources. I had to put xrdb .Xresources in .xinitrc as well for it to load everytime.

Setting up PipeWire went fine, just had to put it in .xinitrc to start everytime and restart Librewolf for the changes to take effect. Also PipeWire was telling something about module-x11-bell file or data not found, I searched it a bit and found an Arch Wiki page about how to set the x11 beep. I'll keep note of that.

ProFont wasn't in the repo so I had to manually download it. I had issues with Librewolf 'ghost-downloading' where it was saying the file was in my Downloads folder but actually there was nothing there. So from suggestion of u/valgrid I installed Flatseal and enabled all filesystem options and that worked.

ProFont OTB wasn't getting into fc-list at first. It was because I had set 70-no-bitmaps, so I symlinked 70-yes-bitmaps and (lol) it worked, and it doesn't seem to revert back to jagged Helvetica

I was making my website buttons in Libresprite and wanted sxiv to view the gif. Installing it gave a signature error, so I updated the system with xbps-install -Su, and the only package was linux. After that, I installed sxiv successfully, which was just a symlink to nsxiv.

Mounting my Binbows drive gatekept permissions only for root user. I added -o uid=1000,gid=1000 to the mount options and that seemed to work fine. Apparently it was read-only as well. So I looked up and found out I didn't have ntfs-3g installed, so I installed it and didn't need the -o options anymore and could touch successfully.

I was using setxkbmap as a provisory solution to make my keyboard mapping be br, but it was reverting randomly through the sessions (same thing in my old Artix), which was annoying me so I decided to properly create a xorg.conf file and at the same time already set my escape in caps lock, swap alt and win, etc. options, and it doesn't seem to revert anymore. Here's how it looked like:

Section "InputClass"
	Identifier "system-keyboard"
	MatchIsKeyboard "on"
	Option "XkbLayout" "br"
	Option "XkbModel" "pc105"
	Option "XkbOptions" "caps:escape,altwin:swap_lalt_lwin,shift:both_capslock"
EndSection

I also disabled my mouse acceleration and set its speed as per the Arch Wiki and libinput documentation. I would be nothing without the Arch Wiki. Here's how it looked like:

Section "InputClass"
	Identifier "libinput pointer catchall"
	MatchIsPointer "on"
	MatchDevicePath "/dev/input/event*"
	Driver "libinput"
	Option "AccelProfile" "flat"
	Option "AccelSpeed" "0.8"
EndSection

Now a little off-topic, but after that I got interested in making Caps Lock behave as Super when held and Escape when just pressed. I knew there was a program but didn't remember the name. A few searches later and I found xremap but it wasn't in the repos, so I found xcape which was in the repos. Following more or less the instructions from smarttech101 and changing my 00-keyboard.conf XkbOptions to caps:super I was able to put two functions in one button! Cool! Definitely taking that into my new Artix.

Installing dnscrypt-proxy went with no issues. Setted up my Anonymized DNS fine, showing ok in /var/log/socklog/everything/current. /var/log/socklog was locked to root, so I went into sudo su to navigate more easily, but it was a shitty shell with no tab completion or history. I tried using chsh but it didn't work, until I exited and sudo su'd again, then it worked.

Installing and running Steam it complained that libdrm was not installed, so I installed libdrm-32bit and it was working fine.

Clicker Heroes not working here either... I'm starting to think it's the last update that broke things, and I don't have access to Proton 8 to know if that specific update fixed it. It used to work in my old Artix but it was before the update.

Note : Yeah, it doesn't work in Artix either.

I managed to make Clicker Heroes run under Wine but it didn't load my savefile. Pointing WINE_PREFIX to Steam compatdata it complains about library tier0_s64.dll not found

ly was not in the repos, so I tried building it from source, but Zig complained my zig version 0.10 does not meet the minimum build requirement of 0.12.

zsh worked perfectly. To change it to be my login shell I sent chsh -s /bin/zsh and logged out.

Hibernating is easy: it works with the commands zzz for RAM and ZZZ for disk.

Installing neocities-cli didn't work at first. It wasn't in PATH and running it directly from .local/share/gem/ruby/3.3.0/bin/neocities produced the error "cannot load such file -- whirly". But after installing whirly with gem install whirly it seems to work.

I ended up with 26 packages to update, 794 packages installed and 14GB of my 40GB root partition used.

Final Verdict

It's a nice independent system, but I'm too dependent on the AUR, and I just like OpenRC more. It's almost just like Artix but worse, because it doesn't have a 'VUR' (i know there's xbps-src but the only repo I found with packages to build had like 20 packages). Flatpak Librewolf gave me some issues. Now I know for sure to never use flatpak. Again, ly not being packaged is a bummer. I also learned a bit of runit, which is nice. XBPS is pretty nice, simple to learn. If you're a minimalistic kind of person, this system is for you, XBPS and runit are ultra minimalistic. One thing is for sure: I had a much better time than on NixOS.

Anyway, Artix my love, I'm coming for you (not a distro review, i'm just gonna daily drive Artix again.