Home | Onion mirror | Git repo | Git onion | Site map

Things I use

Base

OpenBSD is my OS of choice. Or rather, it would be if I still used supported hardware. For the moment I’m stuck using it only for my server. Linux feels increadibly disjointed in comparison. However, there are still a few programs ported from it to linux, such as my shell, ksh.

ksh is my shell. It’s very customizable, very light, and posix-complient, which can’t be said for—ahem—other shells. It uses a lot of the same syntax as bash for its prompt, so it was very easy to switch over. I’ve always sort of wanted to use plan9’s rc, but it’s absolute aids to use without a terminal supporting the mouse, and 9term is sort of unstable.

vi is my primary editor when I have to manage my server. I started out with neovim, but I found that I didn’t really use most of its features, so I switched to vis, which is much lighter. However, it’s generally a good practice to install as few packages as possible, especially on a server, so I started using vi. At first the lack of syntax highlighting irked me, but as I went on I learned to love it. It also helps that I’m not doing much intensive programming: I’m more of a writer, though I do make some small-scale scripts.

tmux is a pretty integral part of my workflow. At first I just used it as a tab manager for my terminal, but as I got used to it I started to find that it was very useful.

Linux on the desktop

I hate Linux. It’s a complete pain to use. However, I like it much more than Microsoft Windows or MacOS

The thing people don’t really get is that Linux isn’t made for desktop usage. At least, not in the way people mean. The way that Linux is put together is completely antithetical to a “just werks” experience. If you want Linux to work, you have to use the terminal. cat works. grep works. sed works. Cinnamon, Mate, GNOME, none of these “user friendly” interfaces actually work. And the more code you put in between the user and the console, the more likely something is to fail. On Windows, MacOS, and even Plan9, the graphical user interface is an integral part of the system. These are systems that are made for humans to use. Linux is made for hackers. The year of the Linux desktop will not come until these problems are resolved, which will never happen under Linux.

Anyway, I use Artix, beacuse that’s what I was using before I switched to OpenBSD.

Editor

I used to use vi whenever I had to edit a text file. The purely keyboard-based workflow always felt restrictive for certain tasks, so I was never fully satisfied, but I assumed that there were no good alternatives. Still, I searched for something better for a long time.

For a few months I used GNU Emacs, which was a mostly pleasent experience. I enjoyed being able to use my mouse, and I still had all the power of vi with evil mode. But I had a few gripes. Firstly, it’s a GNU program, so it is quite bloated. I know that Emacs isn’t a drop-in replacement for vi: Emacs is more than a text editor. However, to be frank, I didn’t need more than a text editor. I don’t need a second operating system running inside of my operating system. I need to edit my dwm config, or write markdown. The Emacs operating system is quite minimal, but only because it has to depend on the host operating system to handle the lower-level work. I don’t doubt that if somebody tried to turn Emacs into a fully functioning independent operating system, it would be bloated to hell, simply because of the nature of Emacs. In any case, regardless of my feelings on Emacs, when I reinstalled to encrypt my disk my configuration stopped working, and I didn’t care enough to try to fix it.

My quest for an editor continued until I finally got around to playing with 9front. I had always wanted to mess around with it, but the description of the installation process spooked me off, since I didn’t understand it. It was pretty easy once I actually tried though.

When I began using acme, it clicked right away. I did miss the lack of keyboard shortcuts… for about five minutes. I’ve never had a problem with the mouse, especially with my trusty trackpoint.

Acme was everything Emacs wasn’t. Emacs is an OS that you create yourself for the purpose of editing text. An Emacs user is expected to replace all his OS’ tools with their ELisp counterparts. What acme tries to do is to provide you with an interface to more effectively interact with the tools that are already on your system. A user can easily create acme-specific scripts and programs (in any language), sure, but even then the user can use his OS’ tools as a base—which is exactly what I did with my webserver workflow. Took me two seconds to adapt any vi-specific scripts I had for use in acme.

Why am I talking so much about my editor you ask? Listen, I spend a lot of time editing text. It’s important.

WM

I have a very basic workflow. I only need three windows open at any time, and hardly ever need them on the same screen, as long as I have keybindings set up correctly. Because of this, I don’t really have one window manager I use. Sometimes I use DWM. Sometimes I use GNOME. Sometimes I don’t even have a WM. It does not matter. As long as I can maximize my terminal, browser and Acme, and switch between them, I don’t notice the difference.

sxhkd is a pretty important aspect of this. It allows me to keep my keybindings on every WM I use. Finally, uniformity on the Linux desktop.

Suckless

The suckless project may have failed in many ways, but they still made a handful of very useful programs.

St is my terminal emulator of choice. I don’t use any patches for it, since most of them are either purely aesthetic or add some functionality I don’t need, like scrollback (tmux uber alles)

Dmenu is very useful for launching apps and making scripts which have user input, but aren’t called from a terminal.

Sent was a lifesaver for me when I found it, since it works exactly how I’ve always made my presentations. It was getting really old using the slow, bloated libreoffice impress to write a few words on a screen. I’m not sure if it was an OpenBSD issue, but I was frustrated by crashes quite often. Since switching to Linux, I have the chance to use Slide+ and Slide- in Acme, which should be a fun experiment.

Browser

Unfortunately, due to the nature of our society, I have to interact with the modern web. Since switching to Linux, I’ve been using the Brave browser. It’s private enough, and works better than Firefox.

For some specific sites (mostly news sites), I use lynx.

Music

I use cmus to play music. It’s supposedly not maintained anymore, but I haven’t had any problems with it. I tried to use mpd and ncmpcpp for a while, but they’re not really conducive to the way I listen to music.

I found out about QuodLibet a short while ago, and it’s probably the best graphical music player out there. However, it doesn’t really integrate well with my workflow.

Mail

Luke’s mutt-wizard helped me to configure neomutt, but since I use a different password manager, and my directory structure is different, I pretty much just used it as a guide to getting a nice setup.

I tried aerc a while ago, and it looks really promising, but it’s not stable enough yet for me to switch to it.

RSS

I use RSS to keep up with all my favourite internet people. I stopped using social media years ago, but I have to know what’s going on in the world somehow, so I got into RSS. I mostly subscribe to podcasts, blogs and news sites, but I have a few twitter feeds in there still.

I use newsboat as my rss reader, since it integrates well with my workflow.

I also wrote a few scripts to use sfeed_plain with Acme. It’s mostly been a positive experience, but it’s not great for reading news with.

If you like RSS too, I have a feed for this site.