Programs I Use and Love (2022)!
Published on Friday, 15 July, 2022Priorities, amount of free time, motivation - these are all things that will fluctuate with time. The software you use for you computing will, by necessity, reflect that. I've used many programs and setups through the years and probably will use many more in the years to come. This list represents the current state of my system, fulfilling my current needs. So without further ado, here's my list of programs I use and love as of today.
The fundamentals
Operating System: Linux. Whilst it doesn't really matter which distro you use, I would suggest something that uses pacman as a package manager and gives you access to the AUR. Micro$oft Windows and MacOS are both terrible messes and I don't see a situation in which I would willing use them as a daily driver.
Text Editor: (neo)vim. Vim is the single best program ever written. Learning vim will not only make your text editing easier, it will make you yearn for vim-bindings and vim-commands in all of your other software. Truly a game-changer you should 100% install and learn how to use. Vim can be configured to work great with LaTeX. I made some tutorials in Bulgarian on how I've set up my environment.
Terminal: rxvt-unicode (urxvt). Memory efficient, flicker-free, crash-free. Endless customisation due to Perl modules support as well as un-rivalled font support (which is important if you're using a lot of files with Cyrillic names). Has clickable links support as an extra bonus. Documentation is a bit dated, but there are a lot of resources online.
Window manager: i3. I've tried a few tilling window managers, but I always comeback to good ol' i3. If you're not using a tilling window manager, you're basically self-crippling yourself. Stop that.
Shell: zsh. It's basically a superset of bash with added syntax highlighting and better autocompletion.
Web Browser: brave. The only browser that comes with (fairly) sensible defaults out-of-the-box. Firefox is fine too. Just don't use Google's (or Microsoft's) spyware. When I open single web pages from other software I usually use surf
Utilities
File Manager: ranger. A console file manager written in Python. It's very, very extensible, which I enjoy, although it can be a bit sluggish, especially when browsing through directories with a lot of big files. I also use nnn from time to time to offset that.
Email: (neo)mutt. An extremely extensible terminal-based mail client. Using isync you can configure it to store mail on your local device (offline mail is awesome). You should treat emails as all other files - if they're not on (one of your) computers, they're not yours.
Music/Video: Jellyfin. I host my own Jellyfin instance which allows me to stream my music from my server to all of my devices. I use this to stream them to my desktop via mpv. On my mobile phone, I use finamp, which you can get on F-Droid. For video, I use mpd exclusively.
RSS Reader: newsboat I use newsboat as a full media centre - I use it to watch youtube, to read news (rarely), to follow scientific journals and to get book/movie/music reviews. RSS gives you the convenience of a social network, without adds or targeted content. It's great!
Torrent client: rtorrent. A small, fully-featured console torrent client written in C++. Ideal for easily seeding your perfectly legal Linux ISOs on your server.
Document reader: zathura. Lightning fast and with vim-bindings by default. Also supports synctex for forward- and backward-inverse searches (you'll know what I mean if you use LaTeX).
Image viewer: feh. "Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via command line arguments and configurable key/mouse actions."