Here are the programs I use for everything. I'm only putting here programs I consider tried and true and have used for a while.
I'm about gettings things done quickly and having as little space between my thoughts and actions on the computer.
I like having vim-like bindings and prefer running programs in the terminal for simplicity's sake. That said, I'm very much against the cringey meme that things in the terminal are "cooler" or "nerdier" XD. Terminals are good for most tasks, but useless for others, for example, browsing the modern web or looking at maps or images or modifying videos by NLE.
What I Use
- Web browser
- qutebrowser. Firefox and its derivatives are becoming unusable due to "improvements" in the code base and other browsers are either incompatible with the web as it exists today or proprietary. When I started using qutebrowser, it was buggy and niche. Now it's a professional product and other browsers have deteriorated. I've contemplated surf, but have never managed to patch in all the features I really need from a browser.
- Either st or urxvt (specifically rxvt-unicode).
- Window Manager/Desktop Environment
- Text editing and programming
- vim. Less of a text editor and more of a lifestyle. I've not gotten into emacs yet, but I've contemplated it for my coming dissertation.
- File manager
- ranger. ranger is easily one of my favorite programs of all time. The downside is that it's written in Python, so starts up a little slow, but it is very well-featured and customizable.
- Mail client
- mutt  . I keep all my mail offline with OfflineIMAP.
- Music/audio player
- mpd with ncmpcpp for a library, mpv for playing songs manually.
- Video player
- mpv. I also use mpv for viewing gifs, my webcam and watching videos or streams.
- RSS reader
- Torrent client
- Transmission, with the transmission-remote-cli as an interface.
- Video and Audio
- ffmpeg is the tool I use to record all of my screencasts, and also splice and combine all of the video and audio when needed. I use Blender for making videos which would require NLE, but I always begrudge it.
- Writing documents
- I write documents in either R Markdown or XeLaTeX and compile them into either pdf documents or presentations after that. I also use the vim-live-latex-preview for automatic LaTeX/XeLaTeX compilation. I use pandoc for document conversion and compiling pandoc.
- Excel-like spreadsheets
- sc-im for when I need a very visual interface, but I generally use R for the things one typically does in a spreadsheet.
- pdf Viewer
- mupdf. I have evince installed because it handles comments (people in academia always use pdf comments, which sort of pisses me off). If anyone knows of a better way of either viewing them in mupdf or extracting them, feel free to share with me!
- Image Viewer
- feh. feh doesn't handle moving .gifs, so as I said above, I use mpv (on loop) for them.
- Image modification
- GIMP for big things, but imagemagick commands for most little modifications, filter changes, trims, etc. I also use MyPaint for illustrative sketching for class or screencasts.
- Calendar, To-Do list, Appointments
- calcurse for somethings, but a notepad (a literal physical notepad) for most important things. I usually write notes for my screencasts on a notepad and occasionally glance at them while recording to keep me on track.