In my setup page, you’ll find a list of all my daily go-to tools and some awesome applications I use. We’re going to delve deeper into the setup and discuss what I find interesting in those apps, as well as touch on my Neovim (nvim) setup. Additionally, you can check out noob.md for more information regarding the nvim setup and how to integrate it all together.
I am one of those young software engineers who started with Vim and Notepad++, then progressed to Sublime Text, before eventually using VSCode and nvim. Throughout my years of development and experimentation with different text editors, one crucial aspect to consider is what makes coding easier and more lightweight for your computer system. This is particularly important because you don’t want to be the engineer who doesn’t improve as they code. I vividly recall the times when using Vim and Notepad++, i didn’t even know about extensions like we do now; it was all about hard-coding and facing reality.
I remember my younger self installing Notepad++ on those HP systems with just 2GB
of RAM, trying not to overload the system or hear the fan kick into high gear
When it comes to lightweight options, engineers’ preferences can vary because each individual understands their system specifications and what will ensure smooth operation without any hiccups. Personally, I’ve been using nvim for several years now, having transitioned from VSCode. However, lightweight functionality wasn’t my primary consideration during the switch.
Currently, my system experiences no RAM issues or overheating, but that doesn't deter me from
using lightweight editors that enhance my coding skills and add an extra cool factor, haha!
I grew to appreciate nvim + tmux for its ease of terminal manipulation and customizable keyboard shortcuts, which brought me true joy.
I use iTerm2 as my terminal emulator, which has been reliable for me, aside from a minor hiccup when attempting to update it directly from the app. It mistakenly installed the nightly version, which I had to delete and reinstall. Additionally, I recommend terminal emulators like Alacritty and Wezterm, although I personally haven’t used them, they’re highly regarded among software engineers.
For terminal multiplexing, I rely on tmux, an essential tool compatible with any of the aforementioned terminal emulators. The key to mastering tmux lies in configuring its prefix, which you can customize to your liking. I’ve shared an example of my tmux.conf file, which demonstrates how to create the perfect setup. Additionally, tmux offers amazing plugins like resurrect and continuum, both of which help restore previous terminal windows in case of accidental closure or power outage. Check out my minimal CMD guide for more on tmux.
As for my shell, I use zsh, enhanced by Oh My Zsh for added vibe and cool features. Another handy tool in my terminal arsenal is thefuck
, which helps me recall forgotten commands or their syntax.
In terms of workspace and knowledge management tools, I utilize Obsidian and Notion. These tools have greatly aided me in organizing notes and staying ahead when learning or practicing something new. Obsidian’s Vim plugin allows note-taking with a terminal-like interface, which has significantly improved my vim skills.
For browsing, I use various internet browsers such as Safari, Chrome, Brave, and Edge, each for personal reasons. However, I avoid using Arc due to its tendency to overheat my computer, despite positive experiences reported by others.
Throughout this journey, I’ve learned that it’s essential to find a setup that works best for you, even if it means deviating from the crowd. This process may involve installing and uninstalling various tools, but once you’ve found your ideal setup, coding becomes a daily joy and motivation.
Here are some tags for the tools in my setup 🛠️:
Communication:
Discord and slack
Window Management:
Rectangle
API wiz:
postman
Time flow:
Day Progress