Tools for dev environment productivity

by svantetic on 20.04.2024

Here's a collection of tools that I've been using for a long time as a way to improve my productivity or provide some extra functionalities in daily work.

Neovim or Lazyvim

This is certainly an acquired taste, but once you memorize basic commands, you're going to love it.

Neovim or LazyVim, with their extensible plugin ecosystems and modal editing capabilities, provide developers with highly customizable and efficient text-editing experiences, improving coding speed and reducing repetitive tasks.

I use LazyVim (notice some pattern here already?) since it provides a full fledged configuration that you can adjust to your needs instead of writing a Neovim configuration from scratch.

https://www.lazyvim.org

Github CLI

This one is an absolute must have for every developer.

GitHub CLI enables you to interact with GitHub repositories directly from the command line, streamlining workflows by providing access to features like pull requests, issues, releases, workflows and secrets without leaving the terminal.

You can even create a repositories directly from your terminal.

Terminal emulator

Whether you're working on Linux, macOSm, or Windows, sometimes the default terminal is not enough. It probably lacks tab view and window splitting, saving profiles or even some basic customization like color scheme. One exception is default Windows Terminal (not cmd) which has pretty good customization out of the box, but for the other operating systems I'd recommend:

WSL

This is obviously for Windows users. Instead of using the default system shell you can use the WSL which is a Windows Subsystem for Linux. It greatly improves the developer experience by allowing to use Linux applications, utilities, and Bash command-line tools directly on Windows, unmodified, without the overhead of a traditional virtual machine or dualboot setup.

Keep in mind that there might be some tradeoffs, for example, it's hard to make Podman work on WSL.

https://learn.microsoft.com/en-us/windows/wsl/install

Podman (or Docker)

Containerization tools like Podman or Docker streamline the deployment and management of applications by isolating them within lightweight, portable containers, facilitating consistent development environments across different systems.

While Podman might not be 100% compatible with Docker, it greatly reduces the system overhead.

https://podman-desktop.io

https://www.docker.com

Chocolatey and scoop

This is a must-have if you're working on Windows. Package managers like Chocolatey (for Windows) and Scoop automate the installation and management of software packages, saving developers time and effort by eliminating the need for manual downloads and installations.

Instead of opening a browser to download and install many important software or packages, you just use

$ scoop install neovim

Nerd fonts with hacker fonts

Using hacker fonts like Fira Code or JetBrains Mono enhances code readability and aesthetics with ligatures, optimized spacing, and special characters, improving developer focus and comfort during coding sessions.

It's a must have if you want to use Neovim, and they can be installed using scoop

https://github.com/ryanoasis/nerd-fonts?tab=readme-ov-file#font-installation

Nvm

Node Version Manager (nvm) simplifies the management of multiple Node.js versions on a single machine, allowing developers to switch between different versions effortlessly to accommodate project requirements.

https://github.com/nvm-sh/nvm

Lazygit and lazydocker

These two offer intuitive, terminal-based interfaces for Git and Docker respectively, enabling developers to perform common tasks like staging changes or managing containers with minimal keystrokes and configuration.

https://github.com/jesseduffield/lazygit

https://github.com/jesseduffield/lazydocker

Aliases

Creating aliases for frequently used commands or complex sequences of actions simplifies command-line interactions, allowing developers to execute tasks more efficiently with shorter, more memorable commands.

Instead of writing lazygit you can be even more lazy and just type lg

https://itsfoss.com/linux-alias/

oh-my-zsh/oh-my-posh

Enhance shell prompts with customizable themes, plugins, and additional information, making terminal interactions more informative and visually appealing.

https://ohmyz.sh

Excalidraw

Excalidraw is a "virtual whiteboard for sketching hand-drawn like diagrams". It's a great (and open source!) tool for quickly sketching some ideas, architecture or doing a presentation.

https://excalidraw.com

Parcel

Parcel is a "The zero configuration build tool for the web". It's the best tool to quickly spin up any web project you want, without worrying about setting up a build chain. You just include what's needed in the HTML <head> and that's it.

Of course it's possible to configure it to suit your needs better, but if you're looking for creating a PoC as fast as possible, Parcel is the way to go.

https://parceljs.org/getting-started/webapp/

<< back to blog