Skip to main content

My dev workflow - Linux, Hyprland ,Neovim and Tmux.

·600 words· 59

Disclaimer: This is not a guide on how I rice my Window manager, what terminal I use, it’s purely how I use my tools.

Introduction
#

The time has come for me to share my developer workflow and how I use my tools to become a PRO developer!

What I Don’t Focus On
#

  • GPU-rendered terminals (e.g., Alacritty).
  • Ricing my desktop or color schemes.

What Matters
#

  • Speed
  • Lower mental overhead

The Tools I Use for the Perfect Developer Workflow
#

  • Linux (of course!)
  • Window Manager: Hyprland (with animations disabled)
  • Terminal: foot (since I use Wayland)
  • Terminal Multiplexer: Tmux

Note: If you’re using Mac, great! Try to replicate this setup and find tools that make you fast and productive. If you use Windows, consider upgrading your RAM and playing some games; that’s all I can suggest.

Window Management
#

Most common Linux distros come with GNOME or KDE Plasma, which are excellent and a big reason for Linux’s recent improvements. However, I prefer not to use them because I don’t want to rely on the mouse to manage windows. I prefer a window manager to streamline my workflow.

Tiling Window Manager
#

Telescope
Auto Tiling new Terminal Windows

A tiling window manager automatically tiles and splits your windows, allowing you to quickly view and manage your open applications. I have set my ALT key as the main modifier, and use the following shortcuts:

  • Alt + 1 to switch to my browser on the 1st workspace.
  • Alt + 2 to switch to my terminal on the 2nd workspace.
  • And so on, with workspaces typically maximized.

This setup allows me to quickly switch between tasks without worrying about window positions.

I can cycle through windows using Alt + HJKL, similar to Vim. Focused windows have highlighted borders, making navigation straightforward.

Terminal Workflow
#

In my terminal, I use tmux, a terminal multiplexer that lets you split your terminal into multiple panes. This setup eliminates the need to switch between workspaces just to work on another terminal. It also helps me avoid multiple displays, which can be distracting and bad for posture.

Using Tmux
#

Tmux has a prefix key (Ctrl + a in my case) that triggers tmux commands. For example, after pressing the prefix key, you can switch between panes using numbers or navigate to the next pane with prefix + n. Tmux also keeps sessions alive, so if you accidentally close the terminal window, you can resume your work by running tmux a.

Programming
#

Telescope
Neovim as my primary text editor

For programming, I use Neovim instead of VS Code.

Why Neovim?
#

  • VS Code is bloated and slow.
  • Neovim runs in the terminal.
  • I prefer Vim motions for efficient text editing.
  • I don’t use the mouse (more on this later).

Inside a Codebase
#

When starting work, I navigate to the desired directory and run nvim ., which opens Neovim in that directory (similar to VS Code’s code .).

Opening a File
#

Telescope
Fuzzy finding file with Telescope

Moving Between Files
#

Telescope
Moving between files with Harpoon

To manage multiple open files, I use the Harpoon plugin, developed by The Primeagen. Harpoon lets me mark frequently used files and switch between them easily without cluttering my workspace. It also saves cursor positions, enhancing productivity.

Conclusion
#

This setup enables an exceptionally fast workflow and keeps development exciting. There is always room for improvement, and I’ve tailored my workflow to work best for me through experimentation and learning. The key is to try new things, step out of your comfort zone, and develop unique skills that make you a great developer.

Related

Best Manga reader for Linux
·238 words· 85
Introduction to Next.js
·791 words· 18
Minimal notetaking with Neovim and Obsidian.
·486 words· 178