After years of intending to abandon Debian because of the maintainers'
lamentable decision, I've finally done it...at least on my laptop.
My other machines will follow shortly.
I've migrated to Void.
appreciate a waffle-thin base installation that lets me decide what to layer on the kernel
Void's package manager, incidentally, is at least as well-designed
as Debian's, maybe better.
Almost minimum viable configuration...
..."almost" because I figured since I'm climbing the learning curve of a new
distro, I might as well migrate from XWindows to Wayland, too.
Oh, and let's switch out the bloated glibc for musl C.
Yes, let's bite off multiple migrations at once. What could go wrong?
and a Wayland xterm replacement (mostly for neovim).
That is my minimum usable laptop configuration.
To the default installation (base-system-0.114_2, grub-x86_64-efi-2.12_2 and friends)
you get from using the void-installer
I only had to xbps-install -Su ...:
wayland-1.23.0_1
sway-1.10_1
seatd-0.9.1_1
mesa-dri-24.2.8_2
dumb_runtime_dir-1.0.4_1
noto-fonts-ttf-2024.11.01_1
...and...
cd /etc/runit/runsvdir/default/
ln -s /etc/sv/seatd
...for sway as user to give me a GUI screen!
Early attempts to launch sway failed because neither
a renderer (mesa-dri) nor fonts (noto-fonts-ttf) were available.
Void's docs warned me!
A few more packages got me to minimum usable laptop.
firefox-132.0_1
wmenu-0.1.9_1
foot-1.19.0_1
neovim-0.10.2_2
wayclip-0.4.2_1
imv-4.5.0_1
wget-1.25.0_1
And xbps-install -Su ...
rsync-3.3.0_1
base-devel-20181003_2
gdb-15.2_1
man-pages-devel-6.05.01_2
git-2.47.0_1
...got me most of a development system.
Sway, incidentally is every bit the drop in (Wayland)
replacement for i3 that it claims to be. Love it!
WiFi
No need for ConnMan, Network Manager or WICD.
Just adding a network config to to /etc/wpa_supplicant/wpa_supplicant.conf
by appending wpa_passphrase' output to wpa_supplicant.conf.
# Default configuration file for wpa_supplicant.conf(5).
ctrl_interface=/run/wpa_supplicant
ctrl_interface_group=wheel
eapol_version=1
ap_scan=1
fast_reauth=1
update_config=1
country=US
# Add here your networks.
network={
# This section (removed from prying eyes) was added by
# wpa_passphrase >SSID< >password< >> wpa_supplicant.conf
}
wpa_passphrase adds the "network = {...}" block.
Adding "scan_ssid=1" and "priority=10" inside the
network block, too, can hasten association.
Active wpa_supplicant as a daemon by (as root)...
cd /etc/runit/runsvdir/default
ln -s /etc/sv/wpa_supplicant
Then dhclient, installed by default, will provision your WiFi device as
soon as it associates with an access point and you're on the 'net.
Gotchas
Make sure your localtime is correct before using the package manager, or
you may get hard-to-interpret errors related to network timing.
Assuming the machine's hardware clock is set to UTC as is common, as root...
cd /etc
ln -s /usr/share/zoneinfo/US/Pacific localtime
...replacing US/Pacific with whatever your timezone is.
Provisioning a Raspberry Pi 400
The Raspberry Pi images don't contain the void-installer executables.
They are ready to boot from an SD card prepped like...