Until recently, my favorite GNU/Linux distribution was Manjaro, which is based on Arch Linux. Manjaro is to Arch as Ubuntu is to Debian—an overhaul of the parent distribution that is intended to be intuitive for (nearly) all users and immediately functional on (nearly) all desktop systems.
Manjaro with i3wm—my first tiling window manager—remains my OS for work on my home-built desktop. Manjaro’s brilliance is tripartite:
- Manjaro comes with glorious presets. Until recently, especially with the minimal .iso that is available for most editions, few default packages ever have seemed extraneous. XFCE is the flagship desktop environment, and KDE and GNOME editions are also maintained by the core team. I used all three before transitioning to i3. Moreover, the various community editions (including i3) are not unrefined.
- Manjaro makes using a distribution like Arch a viable option for someone who needs to sit down and work without worrying about OS maintenance. Volunteers delay Arch’s package updates just long enough to test for points of instability. Relative to other rolling release distributions, Manjaro is more leading edge than bleeding edge.
- Access to the Arch User Repository (to which I have contributed in a modest way) is a benefit that only Arch or an Arch-based distribution can boast. The AUR is a crown jewel of the free and open source software movement.
Yet not all is perfect with Manjaro:
- Although Manjaro (Stable branch) is more stable than a bleeding edge rolling release distribution, there is always the possibility that an update will break the system. I have had at least 1 update completely break a work environment. A responsible user must read the update notes in the (friendly) Manjaro Linux Forum before actually running a full system update at least every few weeks. Otherwise, thousands of packages will fall behind, leaving the user with no choice but to reinstall the OS from scratch. That is the price that one must pay in exchange for the overall freshness that comes with a rolling release distribution.
- Manjaro has been on a streak of lamentable top-level decisions:
- The website took a leap backward in overall usability (see my previous post on simplicity in web design).
- An unusual office suite (that is not worth naming) temporarily replaced LibreOffice.
- Flatpack (acceptable but unnecessary) and Snap (unacceptable) both weaseled their way into new installations, which does not make sense for a GNU/Linux distribution with full access to the AUR.
- On my laptop, even Manjaro i3 (installed from the minimal .iso) started to feel bloated. After seeing examples of GNU/Linux installations that use 200mb RAM and less than 0.1% CPU at cold boot, 350mb RAM and perhaps 0.5% CPU seemed a bit unwieldy. On my laptop, with a humble dual-core Intel i3 processor, 4GB RAM, and (of course) the ever-present concern of battery life, every mb of RAM and every CPU cycle matters.
My search for a different distribution to install on my laptop was not complicated. Ubuntu has many of the same problems as Manjaro, and a step into Ubuntu would have seemed to me like a step into even more bloat. However, Debian, Ubuntu’s parent, is perhaps the most trusted standby of all GNU/Linux distributions. Debian is not better than Manjaro in some absolute way; rather, it has its own pros for someone who wants to use an ultra-lightweight, highly stable OS for academic writing in multiple locations (library, office on campus, etc.):
- Debian is unshakable. In fact, the Stable branch of Debian is so slowly updated that it is unsuited for use cases that require a new kernel with up-to-date packages (engineering, gaming, etc.). An update in the Debian Stable branch simply will not break one’s system. Further, since updates to Debian Stable are few and far between, I now have more time available on my laptop to focus on work.
- Debian is ubiquitous. I cherish the AUR, but there is also something endearing (and helpful) about having a gargantuan list of packages available in my distribution’s official repositories. Debian also receives official support from nearly all GNU/Linux software developers who do not submit their work to its repositories.
- Debian is lightweight. Debian only comes with the packages that Debian needs.
- Debian’s developers are zealous about the free and open source software movement. Debian does not come with any non-free packages, and it never will. Neither Manjaro’s developers nor Ubuntu’s can claim the same.
Thus, my choice was Debian. However, there are myriad options for window managers and full-fledged desktop environments. Was I going to stay with i3wm? Was I going to move to XFCE? As if by Providence, the following video from a favorite Youtube channel of mine, DistroTube, appeared as I was trying to make this decision: “Spectrwm Is An Impressive Tiling Window Manager.”
Derek Taylor, the personality of DistroTube, does not exaggerate. spectrwm is (extremely) minimal, but it also boasts an impressive feature set. Here are my 3 favorites:
- spectrwm is a dynamic tiling window manager. Whereas i3 and other manual tiling window managers require the user to move each window to a sensible location on his own, spectrwm automatically assigns a parent window (the first window opened in a workspace) with children (subsequent windows opened in that workspace) opening (by default) to its right-hand side (from top to bottom). The user is able to change the layout with a quick keyboard shortcut, while preserving the relationship between the parent and children. I have found that I prefer dynamic tiling (spectrwm) on my laptop’s small display and manual tiling (i3) on my desktop’s large display, since I appreciate dynamic tiling for using (relatively) more workspaces with fewer windows per workspace and manual tiling for fewer workspaces with more windows per workspace.
- spectrwm has a tidy status bar that is customizable with a short Bash script. The sample script that comes pre-loaded is fine for someone like me who only knows a bit of Bash; I was able to edit it for my own use without difficulty.
- spectrwm has a legible, intuitive configuration file. Customizing keybindings, changing colors, and all the rest of the things that someone who has used a tiling window manager would expect to be able to do are straightforward. I think that spectrwm is even easier to configure than i3wm, which is famous for its foolproof configuration.
To install and configure Debian 10 with spectrwm, I used different parts of the following guides:
- “Install i3wm with Debian 10 (Buster)” by Miguel Sampaio da Veiga on Medium. The basic steps for installing Debian and any tiling manager on top are the same, so this was my main guide.
- linux dabbler’s “SpectrwWM initial setup and config on Debian” and “Customizing the SpectrWM Bar” on Youtube. These instructive videos pertain exclusively to configuring spectrwm in Debian—that is, the window manager itself (configuration file, basic usage, etc.).
- Derek Taylor of DistroTube’s “Discovered Some Cool Stuff in Spectrwm and Qtile” on Youtube.
Following the first guide in particular, I had to choose my suite of foundational (core) software:
- rxvt-unicode: urxvt, as this terminal emulator is often known, is ubiquitous and highly configurable (in ~/.Xresources). Probably, I will switch to Termite, which is lighter (and has a few other advantages).
- lxappearance & qt5ct: LXDE’s lightweight GTK theme switcher and a basic Qt5 settings manager for desktop environments and window managers without native integration of either. As minimal as one can go while having straightforward GUI menus to manage system-wide themes.
- dmenu: The Suckless project’s application launcher.
- ranger: CLI file manager with Vim-like keybindings.
- X File Explorer (xfe): GUI file manager. Extremely lightweight with remarkably few dependencies (not even GTK or Qt). xfe does not seem to be well known, presumably because it is not part of a desktop environment, but it works.
- Links: CLI web browser. I might switch to ELinks, a fork of Links with a few advantages, but Links is splendid.
- Dillo: Lightweight, fast GUI web browser with its own rendering engine and lots of options for customization.
- Firefox & Thunderbird: Classic, powerful web browser and email client, respectively. Heavy but necessary.
- Zotero & LibreOffice: The office software that I need for writing my dissertation. Heavy but necessary.
- Xiphos: GTK implementation of the SWORD Bible study project.
- i3lock: The i3wm project’s screen lock utility. Works with Xautolock.
- X Window Display Manager (XDM): X.org’s official display manager is lightweight and does the job.
- Yet Another Dotfiles Manager (yadm): A CLI tool to manage dotfiles with git. Here is my dotfiles git repository on GitHub.
I decided to favor GTK whenever I need to choose a GUI application. For a system-wide GTK theme, I chose Blackout, which is (as the name suggests) a true black theme. Everything that I can theme, including Dillo and urxvt, is straight black with white text. I have spectrwm configured with a small, subtle royal purple border around both windows and the status bar. I use the same shade of purple in my simple i3lock Bash script (‘i3lock-corey’). Black, white, and purple—these are my desktop’s only three colors. Black is energy efficient and easy to configure. White text on a black background is legible. Purple is my favorite color.
Finding a viable system-wide font was tricky. I sought a serif font with full support for both Greek and Latin. For the font to look as intended in both the terminal emulator and the spectrwm bar, it had to be monospaced. UMTypewriter was the only font that I could find that met all of those requirements. If anyone is familiar with a smoother, more legible font that could replace UMTypewriter, please let me know in the section for comments below.
One challenge that I did not anticipate has been managing file defaults (e.g. automatically opening an .odt file in LibreOffice Writer from ranger or xfe). If anyone knows of a tool to help with that in Debian without a full desktop environment, please let me know.
Overall, I am pleased with the result of this project. Debian is a terrific operating system, and spectrwm is, as Taylor titled his video review, “an impressive tiling window manager.” Doing academic writing while on the move now should be a more pleasant experience for me than it ever has been before.
Deus vos benedicat,