My Ideal System

Intro #

This is a description of both, the system I am using now, and the ideal system to aspire to. What I mean by system is, the collection of software that makes up my computing environment.

Criteria #

The system should be minimal, fast (as in efficient to use), and “easy”. In a perfect world, it should also be entirely cross platform and portable. This is not attainable but we can get close. At a minimum, most software should be compatible with any linux distro as well as OpenBSD, as they are the platform I regularly use. The software should also work on both wayland and X11. Wayland is clearly the future, but it is still mostly unusable on OpenBSD and still has nvidia issues. It seems certain though that wayland is the way forward so building a system with that in mind is important. In summary the ideal system should be:

  • Simple
  • Minimalist/“Suckless”
  • Stable
  • Cross platform: works on OpenBSD, Linux (any distro with any init system), Wayland, and X11

Current Setup #

Core Utils: These are the main programs I use that apply across all systems.

Terminal #

  • Alacritty

The most important application in my opinion. I am using Alacritty as my terminal of choice. I also tried kitty, and was interested in wezterm, but Alacritty has given me the best performance. I wish it had ligature support, but it’s a minor gripe.

Browser #

  • Firefox

I’ve always used firefox, it works, it’s fine. I prefer to avoid chromium monopoly, so I use firefox, but every broswer pretty much sucks. I’m excited to see how ladybird developes. It could be the future browser.

Email #

  • Thunderbird

Again, it works. I tried mutt before, but modern email is very HTML heavy and using a gui app like thunderbird is much easier. No real complaints, it works.

File Manager #

  • LF

One of my favorite pieces of software. Something I install immediately on any system or server. The best file manager period. Enough said. If I do need a gui file manager for some reason, I’d probably go with Thunar or Dolphin, but LF is the best.

Text Editor #

  • Neovim/Vim/Vi

I use Vim by the way. I’m pretty indiferent to the specific vi spinoff. I typically use neovim with the nvchad configuration. Then I like to keep a more basic vim config in case something is getting in the way. And I like to use traditional vi on my openBSD servers. It’s objectively worse in every way, but it’s fun to learn, and extremely fast. I am not a vim expert by any measure, so the specific configuration details don’t matter too much. I am improving though and will work on creating my own configurations in the future.

Shell #

  • Ksh

Finally, we have the shell. I started using ksh as it is the default on OpenBSD. I like it and will start using it everywhere. If I am not using ksh, I’m probably using zsh on a personal system, or bash if it’s already installed on a server. For consistency and ease of configuring, I’ll be switching all my personal systems to ksh.

This rounds out the most important components of any system. These are the applications that will work on any linux or bsd, with wayland or X. 90%(made up number) of what I do on a computer is taking place in a browser or terminal, with a touch of email. This are still missing some key components though. We need image/video/pdf/music players/viewers. We need an application and menu launcher. Most importantly, we need a window manager or desktop environment. This is where I am still in a state of transistion as these programs become less cross platform between OpenBSD/X11 and linux/wayland. Currently I have two systems, one on my desktop, and one on my thinkpad T440p.

Desktop #

On my desktop, I’m currently running opensuse tumbleweed with the kde plasma desktop environment. I started using it because I wanted to explore wayland, but for an easy to install full featured DE, it is quite good. It is certainly not minimal, and I am not sure I will use it forever, but for an easy just works setup, it’s good. I’d like to explore hyperland more, but I am having little success with my nvidia gpu and wayland still. Future drivers will probably solve this, and I would likely move to hyperland or another wayland wm. It seems a long way off, but I imagine in the future, OpenBSD will better support wayland and all of my systems will be in sync, but for now, my OpenBSD thinkpad runs a very different setup.

Laptop #

My thinkpad T440p is running OpenBSD. This setup is much closer to my ideal. I am using dwm now, but I also like CWM. I have been using dwm for a while and thought I was 100% on board with tiling window managers, but after using CWM and KDE plasma, I am less sure. I see merit in both systems, and am not sure that tiling is truly more efficient. But for now, I am back on dwm. With dwm, I am also using slstatus to display battery temp and time. I also heavily rely on dmenu as an application and menu launcher. My dwm setup is spawned from Luke Smith’s dotfiles, but has been modified to better suit me.

The Future #

The goal for the future is to have one system that I can install everywhere. It will probably be a minimalist wayland wm of some sort running mostly the same application listed above. I want to remain largely nomadic to specific OS or distros, and be able to use any with the same basic setup. I’d also like to create a system install scipt that works across different platforms. Something similar to larbs.

That’s all for now, I’ll update this document as things come to me!