You can essentially take this as a general list of recommendations.
Table of Contents
Software
Priorities
Speed and Efficiency. My thoughts exceed my typing speed already so anything that gets me closer to doing things about as fast as I think (provided I have sound thoughts) would be appreciated. I also like minimizing friction, whether that be in routines/plans or in my setup.
This also means performance over the long term as opposed to short term - wasting investing hours learning a tool that will go on to save me time is better than continuing down the path of using something slower. To revise a statement said about myself: yes, I think long term, but only about things I actually care about.
Minimal but personal. I’m not sure if minimalism elsewhere led to pursuing minimalism here, or if inherently minimal programs I’ve adopted over time led me to strive for minimalism elsewhere, but the idea of being minimal somehow stuck. Additionally, I want whatever I have to be just at least slightly personal - I might be particular about some random configurations here and there.
Secure and Private, to a point. I could say “um ackshually my threat model is X and Y and not Z”, but generally, it’s just the slightly self-centered view of not getting my data harvested by big-box Corporate America and not having unsavory individuals know too much information about me. However, security and inconvenience are decently positively correlated, and anything to an extreme generally is not only impractical and inconvenient but also likely not too good for (at least my) general well-being. Thus I’ll err on the side of more privacy, but I won’t do anything like cut people off if they use a less-secure way of communication or go out of my way to find the most secure but impractical program for some purpose (though I’d appreciate it more people used Signal).
Core
Operating System: Arch Linux.
I also do have Windows (10 IoT LTSC, god forbid anyone has Windows 11) and Ubuntu (only on my cursed Windows-Ubuntu-Arch triple boot setup on my Gigabyte laptop), but I never use them anymore. After the summer 2022 incident where my hard drive decided it was going to quit working and took Windows down with it, I no longer trust Windows not to have a meltdown over something small (do not let anyone I’ve worked with at Microsoft see this).
Shortly after the incident I switched to Ubuntu. Ubuntu and I go way back - I have used Ubuntu in elementary school, when my dad switched our home PC to Ubuntu. I also ran some WSL in Ubuntu to actually get Neovim working for me prior to the incident, and I had grown familiar with the command line. Since then, I have explored more and gone far off the deep end into Arch, leaving Ubuntu behind.
Window Manager: I’m (very) slowly migrating to hyprland on my P15v; the hypr ecosystem replaces a number of tools (e.g. screen lock, blue light blocker), plus I decided it was time to switch things up.
I completely stopped using qutebrowser once I migrated over to the P5x laptops, and I made the switch from Firefox to Librewolf shortly after, then went back to Firefox. I heard Librewolf as a recommendation, but the events of the past summer
(2024) made me forget that hardening Firefox is essentially the same as Librewolf, and I decided I would rather just use a user.js over waiting for Librewolf updates.
I also originally used Chromium for random things like free Wi-Fi at the occasional Corporate America building or airport, but that devolved into using a less featureful browser for more time than I needed for similar use cases, so I swapped over to using two Firefox profiles - my default one being a dark mode one and Narsil’s user.js, and the other one being a light mode/more user friendly/less modded one with Betterfox, using rofi-browser to swap between the two.
Both user.js files automatically update using a cron job that pulls from the repository, which I’ve symlinked as the current user.js.
Utilities
File Manager: yazi. In some ways, it feels like a crossover between lf, my previous file manager, and oil.nvim, which I use for file navigation in Neovim. It has a lot of nice built-ins (file preview, handling file opens, to name a few that I instantly noticed), Vim motions for rename, and lots of customization via scripting (Lua my beloved) and community plugins. The caveat is that configuration is a bit more wordy.
Music/Audio Player: mpd/ncmpcpp as it makes a lot more sense given my music listening habits (short, low variance playlists). Also, some bonus things regarding playing music:
Audile to recognize music I might be interested in,
SpotDL to download music and preserve song metadata,
AIMP for listening on my phone (and exporting playlists to a mpd-readable format, since I haven’t yet figured out how to seamlessly do that on my computer),
Syncthing to keep the music library updated between my phone and computer.
Wait, can’t you just create a media server? Yes, but it can be something
Video Player: mpv, but I pretty much only use it for viewing very short videos. For streaming longer videos, YouTube is still my go-to, as mpv can be hard to stream as there’s a combination of both faster watch speeds and slow internet making the viewing experience unenjoyable.
RSS Reader: newsboat. I must say this is quite useful for looking through blogs and the like I’m interested in, or the occasional Substack I want to snoop through but don’t want to subscribe to. I used to think it wasn’t that great for YouTube as older videos may not be included in the feed, which is true if I were to use newsboat/mpd streaming to replace YouTube. However, I’ve recently been watching recent uploads on YouTube when walking indoors, and I think having a list of channels to browse through and check in on might be a good idea the same way I do with blogs.
Code Editor: It should go without saying that I am still very much a Neovim shill. I have used the open source version of VSCode on Arch repos, but more and more I found myself gravitating back to Neovim. Some of the major projects I’ve done on Neovim include all of the code-intensive projects for my machine structures class and computer security class, as well as data-intensive personal projects and my forecasting class final project. If I were to take operating systems (which I won’t - just kidding, I bit the bullet and decided to take the class in my last semester here), I would at least try to use Neovim. If I can spend my time in industry using Neovim, that would be a true accomplishment.
Writing Documents: Well, that all depends on the type of document:
For documents with a lot of math or citations, especially for assignments and lecture notes, I prefer (Lua)LaTeX, with the help of Neovim (and a lot of heavy lifting done by VimTeX and LuaSnip).
For more writing-forward tasks - for example, writing out the first draft of contents of this page, I prefer Obsidian. I like Neovim and its editing experience a lot, but when I draft quick notes or churn out an article for the first time, I prefer a more word processor-like experience.
For more rough-draft/stream of consciousness writing such as jotting down some ideas for this website or some tools I want to learn, I’ve moved to zk and zk.nvim.
PDF Annotator/Whiteboard: Xournal++, sometimes in conjunction with a Wacom writing tablet.
PDF Viewer: Sioyek, though laziness also permits me to use my browser whenever needed.
Image Viewer: icat within kitty for the most part, but also imv.
Communication: beyond Slack (and to an extent, Discord and Instagram) as a necessary evil to communicate, I have started using Texts, which integrates all three main apps I use - Discord, Instagram, and Signal. Shame that no one who texts me reads my website because I would kindly like them to stop using any of the big 3 necessary evils and use Signal, but I’m sure the sun would explode before that ever happens.
If people would please use Matrix (or Signal, though it appears that Matrix security is a little better) and stop using one of the necessary evils (except if it’s for work, and hopefully not a work Discord), that would be very much appreciated. I personally am “using” (as I have a grand total of 0 people to talk to on Matrix) iamb on my computer and SchildiChat on my phone, though Element is a good option too.
Services
Email: ProtonMail. Decided I needed a new personal email to consolidate everything after realizing that my Gmail accounts I used in middle and high school are just glorified garbage cans with a bunch of random mailing lists and accounts for random things I’ve created over the years. I heard good things about ProtonMail from friends and the internet, and thus I made the switch to ProtonMail. As an unexpected plus, Sieve filters are probably the best for email filtering I’ve seen.
Password Manager: Bitwarden came installed with Librewolf, and after moving around relevant accounts to my ProtonMail addresses, I also decided to update some older passwords which I was constantly forgetting, and decided to give Bitwarden a try. It works great even on mobile, though I’m considering using Pass as a more command-line friendly (though there is a Bitwarden CLI!) and simple alternative if there was a good mobile app solution.
More on the Bitwarden CLI: the official CLI is frankly not very convenient (but I guess it is at least a little bit more secure) in the sense that it requires your master password every time - at least I haven’t yet figured out how to set that I have a session active. But before I could, I realized that trying to get a password wasn’t yielding the correct behavior, and then later looking for documentation led me to find rofi-rbw and rbw, which works far better and saves me from reinventing the wheel with a rofi password selector.
Hardware
Previous Daily Driver Laptops
Unfortunately, the Gigabyte’s battery renders it a bit impractical, and the T430’s display broke (again). As a result, I’ve been moving towards daily driving my P5x laptops. Still, the stories behind my previous daily drivers are pretty interesting, so I’ve left them here below.
Semi-Retired Laptop I: Gigabyte U4 UD. I got this after my previous laptop broke in summer 2022, and I absolutely love it. I hope to continue using this for a lifetime (though if you’re seeing where this text is, I clearly did not - its ever-shrinking battery life got the better of it). It’s light and decently powerful, and it has served me through my undergraduate career. I am so glad I did not pursue the topic of a MacBook further and got this instead, as it was really what kicked off my interest in Linux (though I’m still missing out on the iMessage wave *insert copium here*).
Semi-Retired Laptop II: Thinkpad T430 (TheseusPad). In contrast to the portability of the Gigabyte, the Thinkpad is durable - it’s a tank which has withstood over a decade’s use. It’s an old system I got and managed to spend more on upgrades (CPU/heatsink, upgraded storage/memory, upgraded display, etc. - not to mention the motherboard that blew up that had to be replaced) such that the total somehow manages to exceed what I paid for the Gigabyte laptop.
Semi-Retired Laptop III: Thinkpad P52. Unfortunately, it had battery issues - the battery suddenly dropped to half its capacity one day, and I still have no idea why. I will be selling it soon once I am done with schoolwork.
Laptop: Thinkpad P53. While the P52 works out of the box (and that’s what I’m using as of writing this), the P53 has better specs but lacks a functional touchpad. Instead of fixing it, I’ll take a page from this article and learn to go without a mouse. I might as well also throw in being able to functionally use Dvorak in if I’m spending so much time learning to adjust how I use a computer.
Laptop II: Thinkpad P15v (Gen 3 AMD). I’ve already designated this as my “outdoor laptop” - perfect for a focused work session at a coffee shop or light browsing on the go. It feels like a solid attempt at marrying the two types of laptop I’ve enjoyed so far: the thin, light, and portable Gigabyte and the powerful, durable, and intimidating workstation-grade P52/P53. It feels light and compact (despite only being half a pound lighter than the P5x), and easily fits into my bag just like the Gigabyte, while still holding its own on performance and battery life compared to the P5x. Its only Achilles heel is just how it feels like a noticeable step down from the sheer Nokia-tier bulletproof durability of the P5x. I feel like I would injure myself trying to break the P5x, but I fear if I so happen to bump the P15v into the table that I might break something. The keyboard is also just a tad less sturdy and a bit more flimsy and hollow. But other than that, I have very few complaints.
Hard Drives: SK Hynix Gold P31, and I’ve heard recommendations for SK Hynix SSDs in general. I’ll default to the following comments (not from me) to better explain why.
Excellent power efficiency on both drives, more so on the P31. Sky-high random I/O ratings. P31 is damn near impossible to overheat, P41 won’t throttle in a typical desktop even with no heatsink or airflow. Decent pricing, too. Excellent, cool-running all-rounder that’s right up there with flagship Samsung drives in terms of performance while being way more efficient.
Somewhat Unused Desktops: Dell Optiplex 7060, Mac Mini - the Optiplex is for a few personal projects I haven’t yet gotten to and the Mac Mini is to run BlueBubbles if I ever have the motivation or need to (which I currently don’t and likely won’t in the future).
Peripherals: the hopes is that these should last me for life - I’ve used both for at least a year (admittedly, the mouse more so than the keyboards) and they’re holding up great.
Keyboard: HHKB Hybrid Type-S, though I also have a Varmilo VA87M. The Varmilo used to be the absolute center of my life for a while until one of the keys ended up just not working for a while. I thought it might have something to do with the switches (which are not hot-swappable), so I got permission to use the soldering lab in the EE building, but it turns out that the day I decided to fix the issues, everything started working again. As for the HHKB, it’s a legend for long typing sessions, but I just can’t get past a few of the quirks it has, especially trying to get myself to use the Ctrl key as intended. This did get better after I mistakenly remapped Ctrl to Caps Lock on Windows at work once though, so maybe the HHKB will make a return.
Mouse: Logitech MX Master. One of my first big upgrades I got after my previous mouse (which I don’t remember the name of) got lost. The ability to support multiple devices and have horizontal scroll are huge bonuses I never really noticed until I started using this mouse.
I also have a Google Pixel with GrapheneOS and an assortment of Garmin devices (cycling computer and smartwatch, to name a few) for cycling and running.
Deprecating
I’m not really not using these anymore, but they’re on their way out. A lot of these are a byproduct of switching to the hyprland ecosystem.
Along with this is gtklock and go-sct, which were replaced by their hypr ecosystem counterparts.
Things I No Longer Use
In case I ever stop using something. This list is going to become a textwall at some point.
Ubuntu: Zoom works fine on the P5x running Arch. Maybe the extra 100+GB of RAM and Xeon/i9 processors do actually make a difference. Also, I’ve not heard that many good things about Ubuntu recently. Hoping one day I’ll be able to set up Arch on the family PC to go full circle.
qutebrowser: great browser, but there’s never really a need for multiple browsers except the odd time some Wi-Fi network I connect to has the sign-in page on a browser tab and Firefox decides to die. Beyond that, qutebrowser’s main weaknesses were a lack of compatibility for a number of sites and not many ways to extend the browser with add-ons (though this has become less of an issue as I’ve started to become less of a YouTube shill and thus eliminated a majority of the add-ons I use), and its main strength in better Vim controls has potential to be matched by SurfingKeys. Thus, when I got the P5x laptops, I stopped using qutebrowser.
My whatever smartphone: I bit the bullet and tried out GrapheneOS. Also, my phone was running out of storage (though this is a scam since a decent fraction of storage is already being eaten up by the system and apps that can’t be removed), and waiting for 128GB to be the new basic model that retails for Mickey money was going to take too long. Instead of moving my files on a weekly basis, I decided to get a Pixel (8) I’ll use for the next 7 years until GrapheneOS support ends with maximal storage.
lf. I still like lf, but I like yazi’s defaults a bit better. It supports a bit more out of the box without configuration. While I do like that lf allows you to extend the file manager through your own actions in a few short lines of shell, I still like having things like adding files/folders built in just a bit more. And for the actions that aren’t built in, you can simply throw in some some Lua configuration.
Spotify: not saying I stopped using Spotify completely because that would be a little bit infeasible. I still have it installed and use it for the occasional podcast played at some insane speedup, but I’ve moved on to mpd/ncmpcpp on my computer and AIMP on my phone. Without the adblock version working consistently, Spotify on my phone got way too annoying with ads every other song when I didn’t have Premium, so I decided to download some of my playlists and get AIMP on my phone. Since I had already had a lot of better audio files on my computer, I decided to swap to a local setup.