Faster Developer Workflow To Save Time and Efforts — Arch, Tmux, and Much More!

What? Are you a normie or something?

If you write code mostly on Windows or MacOS, you are missing out on a lot, buddy.

The proprietary garbage has kept you away from modifying your property to make these profit-making companies feel secure.

What’s the difference between you and a 1960s-born old man reading the newspaper on his computer?

What you need is a smooth developer workflow that will save you time switching from Windows to Windows and jumping from one file to another.

Stop being a computer normie and take control of your computer.

I would also like to have a quick disclaimer here. Everything written here is based on my experience. You might be a game developer and need to use Windows for a living. In that case, I don’t blame you. You will just miss out on a fantastic developer experience (If you are a game developer, you must always use a mouse). So, take this article with a pinch of salt.

Install Linux as your OS

I highly recommend that you first install Linux on your machine.

Linux allows you to do whatever you want with the underlying software and any modifications you need. You should be able to do that, right? You have paid for the machine.

Windows and MacOS have a very limited modification space, so getting to a point where you can switch between things is going to be insanely difficult.

To make this more useful, install headless Linux distros like Arch Linux or Debain Headless without any fancy GUI. There is no GNOME or even XFCE (XFCE is good, though). You will just have a raw TTY terminal in front of you on which you can build your productivity empire.

Installing Arch for the first time can be challenging, but you will learn a lot and get out of the normmie zone.

Get a Tilling Window Manager

A tilling window manager helps you navigate through windows effortlessly.

All the windows you spawn on the desktop will be spawned like tiles, filling the whole real estate of spaces on the screen.

Windows and MacOS, by default, ship with floating window managers that you need your mouse to move around. It sucks a lot.

You can move the windows with keyboard shortcuts in tiling window managers since the alignments are just basic geometry.

I personally use DWM (dynamic window manager) by suckless https://suckless.org/.

You can use any of your choice, like qtile (configuration in Python), Xmonad (configuration in Haskell), BSPWM, Awesome WM, etc. It’s your choice; make sure you pick a lighting-fast one.

I use DWM because the config is in C, and I can modify the source code anytime I need to. If you are new to Tiling Managers, install DWM.

Now, make sure to organize stuff well from the start of your day.

For me, window 1 is for my terminal where I do my developer stuff.

2 is for my browser, 3 is for my Discord, 9th (last) is for utilities like bluetoothctl and pavucontrol for my lofi music needs.

Find a Fast Terminal, Shell, and a Prompt

Now that you have a window manager, you need a terminal that wakes up blazingly fast.

I personally use Wezterm these days since it’s fast and written in Rust. You can also use the Suckless terminal, Ghostly, or Kitty (I have used it for a long time).

Also, use shells like ZSH (or fish, etc.) that are highly modifiable and fast enough to execute commands in no time. You need that snappy experience. I prefer ZSH.

Don’t forget a beautiful prompt. I personally use Starship https://starship.rs/, which is fast and configurable.

The goal is to execute commands faster and avoid lags between command executions. This will speed up your development process and prevent you from losing your mind.

Use Tmux For Terminal Multiplexing

Now, using Tmux with a tiling window manager is a bit weird since you have just tiled things up.

But I think it’s better to have one window open to focus entirely on one thing at a time.

Apart from this, Tmux is super helpful when creating sessions and windows, so you can enjoy them simultaneously.

The rest of the good things about Tmux can be found on its GitHub or official website.

It’s also helpful to become proficient with Tmux since you can store sessions on remote consoles (like cloud servers).

Use NeoVim as Your Code Editor (or as an IDE)

NeoVim keeps you from using your mouse.

It keeps you from opening another window. It’s in your terminal — your home.

I know it’s hard to become familiar with it, but start using it, and you will improve.

NeoVim has a lot of plugin support, which you can use to make it a full-fledged IDE.

There is nothing much to say about NeoVim since many of the things you need to know are explained by others (and there are many of them).

End Note

Everything I have stated here seems overwhelming for new users. But trust me, the speed you will gain will save you a lot of time and cognitive effort. It took me about 6–8 months to become good at it.

I started because 1 senior developer told me to, and I just jumped in. It’s your time, too.

Now, everything suggested here can be learned from various resources, and I am not going to repeat everything here (it will waste my time and yours, too).