My uncommon webdev setup - part 3 (Software)
This is a three-part series covering hardware, OS, and software that I used in 2023 for web development. I’ll post a new part until next year. Stay updated by following me on X.
- Part 1 (Hardware)
- Part 2 (OS)
- Part 3 (Software)
Reminder
As you already know, there’s no silver bullet. Tools and workflows should bring happiness and therefore are very personal, so this article is not a “you should use X and Y”.
In an area where Apple hardware and software are prevalent, my setup might be uncommon, but it’s by no means unique. A lot of people work with such setups.
As 2023 is ending, I just want to share some tools that made me happy this year.
Intro
In this part, I’ll focus on tools that make working with a keyboard a breeze. I’ll cover Window Managers, Terminals, and CLI tools that help speed up my work. Most of them are cross-platform, so you can easily try them out and maybe find something that fits into your workflow too.
Window Manager
For several years, I’ve leaned towards tiling window managers. Unlike the default stacked window layout in macOS or Windows, tiling window managers organize windows without any overlap. This setup allows maximizing screen estate and seamless navigation using just the keyboard, like using Win+Arrow Keys
to move between windows or Win+Enter
to open a terminal.
If you’re on macOS, yabai is a solid option worth exploring for this kind of setup.
This year, I made the switch to Hyprland. What sets Hyprland apart is its impressive visual customization and the smooth, delightful animations. Words don’t do it justice, so I recommend checking out their videos on the official website. For me, the experience of using Hyprland has been very satisfying.
Terminal
I’ve been using WezTerm as my go-to terminal. What stands out about Wezterm for me is its convenience and user-friendliness. The coding fonts, Nerd Fonts icons and themes come embedded, which is a huge plus as it eliminates the need to download them separately. Additionally, I like its ability to display images within the terminal and support for ligatures.
While there’s plenty of room to customize Wezterm, I’ve found that only minimal adjustments were needed for my setup.
For those interested in exploring alternatives, Alacritty, foot and Rio are also noteworthy options.
CLI tools
Fish and zoxide
Fast navigation in the terminal is crucial, and both fish shell and zoxide are very efficient. For example, here’s how you can reach the same directory some/long/path/
:
- Fish:
s/l/p
- Zoxide:
z p
Zoxide works by remembering which directories you use most frequently and lets you “jump” to them.
Fish also stands out with its excellent auto-completion, minimal need for plugins, and speed.
Helix and Neovim Editor
I spent six months coding with Helix. It’s very fast, comes with batteries included and the default keybindings are so good after some practice (see :tutor
for guidance). While the absence of a tree explorer in Helix was challenging for larger projects, it might not be an issue for everyone.
I also like that Helix offers a variety of included themes, which pairs well with Wezterm.
Overall, Helix is an editor worth keeping an eye on and with minimal configuration needed.
For Neovim enthusiasts, LazyVim offers a great out-of-the-box IDE experience.
And for those frequently changing color schemes, bg.nvim prevents terminal background mismatches (I’m the author).
Starship
Starship is my go-to prompt. It’s such a simple and easy way to enhance any shell.
Other CLIs
While you can find modern alternatives to most of GNU Core Utilities, such as ls
to eza and cat
to bat. The most essential replacements for me are grep
to ripgrep and find
to fd.
Also, broot is a noteworthy, fast interactive file explorer with image preview.
Closing thoughts
This landscape is constantly evolving. It’s always been interesting to see what others are using. Good resources include subreddits like /r/commandline, /r/unixporn, and /r/neovim.
However, just like over-engineering, it’s important to avoid over-customization. Installing too many tools can lead to more maintenance than benefit. Focus on tools that genuinely improve your workflow.
I hope you enjoyed this series. It’s aimed to inspire you to experiment with new tools or at least bring more visibility to the fantastic tools mentioned.
Enjoy coding!
You can also sponsor me if you liked this post or my projects. Additionally, I’ll be open for new work opportunities starting January 2024.