Software

OS

For my operating system I use Void Linux. When it comes to operating systems, you really can’t go wrong with Linux. I use Void Linux because it is highly customizable and uses very little system resources. For Linux beginners, I recommend Linux Mint since it is very user friendly. I truly think that Unix based/like systems are superior to any other operating system.

Programs

Web Browser

My web browser of choice is Firefox. I make sure to configure Firefox to disable all telemetry, minimize the browser footprint, reduce tracking, and more. This is usually changed in the about:config page for Firefox. Although I used to use Qutebrowser as my main web browser, it’s downsides proved to great for me to use (you can read more here). I also have a few extensions that I make sure to use for Firefox to make it even better but also to block trackers and advertisements. These include:

Desktop Environment/Window Manager

My window manager of choice is dwm (dynamic window manager). I was pretty hesitant when I first switched over to a window manager because it seemed pretty tough to use. However, I eventually got the hang of it and now I think that a window manager is way better for productivity. I use dwm in particular because it takes up very little system resources and it is very customizable. Although it takes some knowledge and skill to learn and customize dwm, it is well worth the trouble.

Terminal

I use st (suckless/simple terminal) for my terminal. st is very small and uses barely any system resources, it is also pretty customizable and extensible. I goes along pretty well with dwm.

Shell

For my shell, I use zsh. It’s compatible with bash and has a few features that I find very useful like syntax highlighting and auto completion.

Text/Code Editor

For text and code editing I use Neovim. Neovim is a community driven fork of the popular Vim editor with a cleaner code base and other features like first class Lua support, sensible defaults, and is fully compatible with Vim. I really like being able to use Lua to write scripts for Neovim rather than Vimscript, as I think that programming in Vimscript can be a pain sometimes. I think that Neovim is the superior editor to Vim.

File Manager

Normally for browsing files I just use the terminal. However, if I need to do something where a graphical file manager is very useful (like moving multiple files) then I use pcmanfm, which is very lightweight and has lots of useful features.

Documents, Spreadsheets, Etc.

For creating documents I have a few systems that I like to use. For short notes and quick write ups with plain text files or markdown files I use Pandoc to convert my quick notes to documents or to any other formats.

For somewhat longer and more precise (but still somewhat short) documents I use groff/troff for creating documents in the terminal.

For professional work and long papers I use LaTeX/XeLaTeX for creating documents as it makes the process for creating title pages, formatting, citations, bibliographies, and etc. easier than using groff/troff. It definitely beats using Microshaft Word.

For spreadsheets I use sc-im. It’s a simple terminal spreadsheet editor that has Vim keybindings by default. It has lots of builtin features like wide character support, key mappings, GNUPlot support, and the list goes on and on. It truly is the Vim of spreadsheet programs.

Video and Audio

For video I use mpv, almost everyone is using it nowadays and it’s very versatile. There isn’t much more I can say about mpv other than it’s my favorite video player.

For audio I use mpd and mpc. mpd is the daemon that runs underneath mpc that sorts the music, plays the music, and etc. mpc is a very simple but useful client for mpd that make scripting extremely easy.

For editing video and audio I use FFmpeg as my main video editor. FFmpeg is perhaps the gold standard for all video/audio editors, not just terminal editors. It can manipulate video and audio streams in almost any format and it’s amazingly fast.

Pictures and Documents

For image viewing I use sxiv because it’s very simple and follows closely with the Suckless philosophy.

For document viewing I use zathura with different add-ons for PDF and document viewing. These include zathura-cb for comic book support, zathura-djvu for DjVu support, zathura-pdf-mupdf for PDF support, and zathura-ps for Postscript support.

And finally, for presentations, I use sent for its simplicity as it can effortlessly turn plain text files into simple presentations.

Mail

I use aerc for email. aerc is a terminal email client written in Go that has a lot of features that I find particularly useful like Vim keybindings, HTML email rendering, a tmux like embedded terminal system, and more.

Image Editing

For making small or sudble changes to images I use ImageMagick. For creating images or making larger edits I use GIMP.

Torrents

For downloading and seeding torrents I use transmission-cli.