Home Blog


This article is not yet finished...

My GNU/Linux setup

Screenshot of my Linux configuration r/unixporn-style

Introduction/Background info

I became a Linux user back in 2017. I had just gotten a my first computer, a Dell Precision T3600 that same year and decided to install Linux on it. Before that I had already had some experiences with Linux on when I had used my fathers Raspberry Pi 2B and I'd also tried out Mint on an older ThinkPad but at that point I still didn't really understand what I was getting into.

The first distribution I installed was Ubuntu. Back then Canonical had already started their "sellout" phase. My experiments with Linux were quite short-lived back then since I was more interested in gaming than programming or computers and gaming on linux wasn't really a thing yet at this point. After ~2 years of using windows 10 and gaming on it I decided that I wanted to try Linux again. This time I went ahead and installed Archlinux since I'd heard that all the cool kids were on Arch. My first installation of Arch was really the moment when my endless jorney to the Linux-rabbithole actually began.

At the time of my first Arch installation gaming on Linux had taken huge leaps forward in a very short amount of time This made me quickly realize that I actually didn't need the Windows installation on my computer for anything. I still kept the dual-boot around for a while because I had to occationally do some windows stuff or work with some windows-only programs but even that was maybe five times a year.

I started my first Arch installation as a GNOME user and a sublime-text user (Yes, can't believe it myself either) but at some point I started longing towards a more lightweight setup and thus began the era of ricing in my Linux history.

I went quickly through all the available DEs and WMs until settling on i3wm for a while. After using i3wm for quite a while I made my final leap into using DWM which I've been using ever since.

My relationship with vim had for a long time been in quite a stationary situation. I had known about it's existence for a while but back then I did not yet understand the sheer power of vim. It was only in the beginning of 2020 when I moved into using vim and only vim and started to develop my skills with vim and my vimrc ofcourse. I quickly realized how blatantly stupid I'd been in not realizing how easy and quick vim makes my text editing and I would consider myself mastering the art of vim in a relatively short time period (under a year).

The programs in my GNU/Linux installation

My configurations for most of these following programs can be found in my dotfiles-repo

DWM

My primary Window Manager. I've been a DWM user since the summer of 2020. I'm not into ricing so much so some might find my setup to be "ugly" but I think it's just perfect. More information and my DWM config can be found in this git repo. My DMW repo also includes my slstatus config.

VIM(NeoVim)

I'm a vim user and always will be. There are so many things in my setup that are affected by this since I always want to have the vim keybindings on everything. My vim configuration can be found here in my dotfiles repo.

(Neo)Mutt

I use Mutt as my email client. I use it for all mail and I never want to touch a network client again. I have configured Mutt with the help of Luke Smith's MuttWizard script. But I've made a lot of my own modifications to the config.

Htop

Htop is a powerful "Task Manager"-like tool for *nix machines. TBH I don't really use htop that much anymore as I've become more confident in using programs like pgrep, ps and pkill. I use a fork of Htop that has vim-keybindings by github user KoffeinFlummi. I would've patched Htop myself but this fork was conveniently already available and saved me some effort.

Transmission

I use transmission for all my bittorrenting needs. I've grown very fond of the transmission way of doing things. I have it setup so that I have transmission-daemon running in the background and I send commands to it using the very powerful tranmission-remote utility. I also have alias t=transmission-remote in my zshrc. I'm using my own patched version of transmission which includes a feature in transmission-remote that is not included in the origin/master. My code is very bad and that's why I'm yet to send a PR to the transmission project (+ the project is pretty much dead atm). The feature that my patch adds is discussed in this github issue.

Zsh

Zsh is my primary shell. I've been planning on switching to something else but I'm currently strongly attached to this zsh-plugin. I'm still not crazy enough to have zsh as my /bin/sh that I have symlinked to /bin/dash. My zshrc can also be found in my dotfiles-repo but I don't consider it to be a very interesting read.

FFmpeg

FFmpeg must be one of my most dearly beloved software projects. I use it for everything from recording screencasts and video editing to converting stuff to HEVC. I feel like many people don't realize the sheer power of FFmpeg So if you haven't tried it out I highly recommend.

MPV

MPV funtions as my media player. MPV is a really good for everything as it is able to read almost every protocol from ytdl:// to sftp://. The MPV also provides with powerful controls and configuration options and reacts to scaling very well which means it work great with tiling window managers like DWM.

Newsboat

Newsboat functions as my rss-reader. I'm also subscribed to some youtube-channels and their feeds are also included in my Newsboat. I have a scripts in my dotfiles-repo called newsboat-open.sh that essentially just opens all the youtube-links in mpv and other stuff in the browser (as it is quite uncommon for websites to include the entire article in the rss-feed).