My Work Setup On Windows With WSL2
4 Mei 2025
·3 min
For the past year I have been tinkering with my work setup to improve speed, ergonomic, and hopefully productivity as well.
I was like many developer out there, a vscode user. It’s a great editor with great feature and a lot of useful extension. All in all it just works. But I’m no longer satisfied. It still felt somewhat limited and not ergonomic enough I often need to reach my mouse for doing operation like creating new file or directory. I also don’t like to use the build it terminal in vscode because it obstruct the code and I prefer to have separated terminal open to run stuff.
It all started when one day I came across Takuya’s (devaslife) YouTube video and I’m blown by how nice and fast he navigate. After watching Takuya’s and also Prime and Teej video I figure it must be nice to work everything on terminal so I decide to do something. Ever since, I began to make my optimal setup every every now and then.
First thing I do is installing WSL2 with Ubuntu. My main reason was because we can have terminal multiplexer that can improve my coding experience since it’s simple yet very powerful compared to windows terminal which doesn’t have a tmux equivalent and working with tabs felt somewhat annoying.
Then obviously I need to have Neovim, the main reason I do all this. Neovim is a great text editor with somewhat steep learning curve because everything can be operated with keyboard without your hand leaving it meaning there is a bunch of shortcut you need to learn. It can be hard at first but when you are get the hang of it you’d feel how good the experience is. Neovim also have a big community where you can find a lot of plugins that can improve your overall experience. This can also be hard because most of the plugins documentation out there always assume your already know what you are doing. But beside that you can have all the basic stuff you need for complete text editor like (Language Server Protocol) LSP, and Treesitter (for syntax highlighting). You can also install a pre configure neovim or should I say distros if you don’t want the hassle. There is a good amount of neovim distros your can pick.
In my case I use lazyvim since it has better documentation in my opinion. It provide a lot of stuff I can try starting from linting, formatting, UI, utility, and other stuff you can find at the docs.
From my experience, I can say that what we need to code comfortably is basically just LSP, Treesitter, somekind of filetree, and the ability to navigate through your entire project quickly.
for navigation, currently what I use are:
- Telescope: it enable you to fuzzy find everything you need from file, to reference.
- Flash Nvim: this plugins allows you to jump between code with minimal input. Imagine this, neovim is already powerful enough with navigating inside the editor but you still need spam some key to go to place you needed to be, flash nvim allows you to jump into the destination you need by search that piece of code you want to go and pres the suffix next to the highlighted text. Easy and fast
Now for he aesthetic part, the selection for terminal emulator. since the built in windows terminal emulator are ugly I decide to use Wezterm as my terminal emulator. It’s highly customizable with lua and work really well on windows. it also support Nerdfont so you terminal will get all that nerfont icon working just fine.
That’s all I can share for now, I’m very happy my current setup and probably will stay true for a long time. Improving your code experience can make your mental state happy and lessen the probability to burnout so I really recommend you to experiment yourself with what your have even in vscode you still can technically improve your productivity though not for me.
Thanks for reading!