It may sound like a First World Problem, but I’ve got three computers on which I prefer to run some kind of GNU/Linux, and I’ve hard a hard time keeping a consistent configuration on all three.
Also, I’m never going to get any writing done if I don’t layoff the distro-hopping. I decided to go with Devuan GNU/Linux, a distribution that forked from Debian after the majority of Debian’s developers decided to replace SysVinit with systemd. It looked like a solid distro with the old-school Unix feel I prefer, so I decided to go with it on all of my computers:
- thagirion: a refurbished Lenovo M92p mid-tower.
- imaginos: a refurbished Lenovo Thinkpad T430s.
- desdinova: an old System76 Pangolin Performance (Clevo W24AEU) laptop
After downloading the DVD ISO image and following the installation instructions, I compiled the following notes to ensure that I would have a reasonably consistent environment whether I was using thagirion in my home office, desdinova in my living room, or imaginos on the road.
Upgrade to Testing
- Open the sources list file.
Replace contents with the following.
deb http://us.mirror.devuan.org/merged/ ascii main non-free contrib
Execute the following commands in order.
Install fonts, themes, and additional software
Let’s add some stuff I’m going to need, and some extras for desktop customization.
I should also install the Liquorix kernel and add the following tweaks.
For all machines, crack open
/etc/fstab and set all ext4 partitions to use the noatime option for improved performance.
For laptops with built-in Intel wifi adapters (imaginos and desdinova), also run
sudo apt-get install firmware-iwlwifi.
Afterward, add “iwlwifi” to
/etc/modules and reboot.
imaginos and desdinova would probably also benefit from TLP:
sudo apt-get install tlp.
For thagirion, my Lenovo M92p desktop, I need the current Realtek 802.11ac (rtl8812au) kernel driver. Clone it from Github, build with
make, then install using
Once it’s installed, add “8812au” to
/etc/modules and reboot. NOTE: The 8812au driver must be rebuilt and re-installed after every kernel upgrade.
Improved font rendering
In each user’s home directory, create a
.fonts.conf file containing the following.
Gonna install some add-ons to make Firefox suck less.
Add-ons for All Machines
- Privacy Badger
- uBlock Origin
- Link Cleaner
That’s right. I block ads. If that bothers you, I suggest you reevaluate your life choices.
Add-ons for Firefox on thagirion
- NoSquint Plus
- Custom Style Script
NoSquint Plus allows me to set a default zoom level for all tabs/windows in Firefox. On a big screen I prefer to zoom to at least 120%, and it’s annoying to do so on a per-tab basis.
I need Custom Style Script to make Mastodon suck less. Once it’s installed, add the following CSS for https://octodon.social/web/getting-started.
Now Mastodon looks good on the ultra-wide screen I’ve got hooked up to thagirion.
Set up Jekyll
Execute the following command:
sudo gem install bundler jekyll
Clone Repositories from Github
Let’s get the default Spacemacs config.
Time to pull down my stuff.
Getting the Latest GNU Emacs
I thought I could get away with using Spacemacs using Emacs 24.5.1, which is is available in Devuan’s Ascii repository, but the initial configuration barfed. That left me with a choice: try pulling only Emacs and its dependencies out of the unstable Ceres repository, a wholesale switch to Ceres, or building from source.
First, I created a
~/custom directory for use as an install destination.
Next, I edited my
~/.profile and added
$HOME/custom/bin to the beginning of my
$PATH variable to ensure that my custom version of Emacs would take precedence.
After that, I extracted my Emacs source tarball, switched to the Emacs source directory, and ran the provided
./configure script. Autoconf reported missing library dependencies, so I installed them until Autoconf stopped bitching. The resulting package list is as follows:
Once I had installed these packages, Autoconf spat out a Makefile. I ran it again like so:
Once I had logged out and logged back in, I was rocking a current Emacs.