DEV Community

Kavin Desi Valli
Kavin Desi Valli

Posted on • Originally published at livecode247.com on

My Developer Setup in 2022!

My Setup

I'm very excited for this article because I'm going to show you guys my developer setup! So, my developer setup is something which has evolved in the past few years. I've switched through editors, IDEs, browsers, etc. and this is what I use now. This might change in a few days/months/years too... who knows!

Hardware

M1 Macbook Air 2020 with 256GB storage and 8GB RAM with an external 27-inch monitor.

Editor

The editor I generally use is Neovim. So, most of you would have heard of Vim. Neovim started as a fork of Vim and has some really good features over vim. Recently, Neovim also released support for Native Language Servers. The reason I use Neovim over editors like, VS Code and Sublime Text is primarily cause of the speed. This includes, speed of Neovim as an editor, comprising of startup time, less lagging, etc, and that also includes my speed as a developer. Vim might seem pretty daunting when you start with it, but when you get the hang of it, you'd want to use it everywhere. And I'm a big keyboard-only fan. So, the fact that I don't have to touch my mouse while writing code is a big plus point.

However, I do use Visual Studio Code when collaborating with others in real time using the Live Share extension. And guess what! I use vim keybindings inside VSCode as well using the Vim extension.

Though, Neovim does have a few minus points to it

  • You'll have to learn vim
  • You'll have to spend some time customising neovim to suit your needs, and setup plugins for autocomplete, LSPs etc.

If you're a beginner, I highly recommend starting with VSCode and maybe use the vim extension if you want to start learning vim.

Terminal Setup

I am a person, who's always on my terminal, especially cause of the fact that I use neovim as my primary code editor. I use iTerm2 but I've heard of Kitty and Alacritty as pretty good alternatives.

I also use tmux heavily in my workflow. I use multiple tmux sessions for every project and recommend a lot of people to use it.

I use the fish shell. It has some great features which you can find on the website which lead me to use it over zsh and bash.

I use GNU Stow to manage my configurations.

You can find my dotfiles in the repo linked below.

GitHub logo kavinvalli / dotfiles

A bunch of dotfiles to setup neovim, tmux, fish, etc.

Kavin's .dotfiles

Stuff I Use

Note: all these have to be installed

Dependencies

Install the following too

  • ohmyfish - Makes it easier to extend fish with plugins
  • vim-plug - Plugin Manager for Neovim
  • tpm - Plugin Manager for Tmux
  • GNU Stow - Symlink manager

Some more optional dependencies for some fish functions

  • dotco - A URL Shortener with Vercel and Airtable
  • Github CLI - Github CLI
    • Get the delete repo permission by doing gh auth login -s delete_repo

Setup

  1. Install the dependencies above
  2. Backup old dotfiles if you have any
mv ~/.dotfiles ~/.dotfiles.bak
Enter fullscreen mode Exit fullscreen mode
  1. Clone this repo
git clone https://github.com/kavin25/dotfiles.git
cd ~/.dotfiles
Enter fullscreen mode Exit fullscreen mode
  1. Change Airtable env vars for dotco-cli
cp docs/url-env-example.sh scripts/url-env.sh
Enter fullscreen mode Exit fullscreen mode
  1. Symlink with Stow
stow */
Enter fullscreen mode Exit fullscreen mode
  1. Install some Nerd Font - for some icons and stuff

Credits

  • dotco - A URL Shortener with Vercel…

So that's it for this post. I might post an article specific to my Neovim Configuration and how I manage my dotfiles in the recent future.

Checkout more of my articles at my blog

Top comments (0)