My Dev Environment Files 🚀

IMPORTANT: These are primarily meant for inspiration. I wouldn't just blindly use them. Proceed at your own risk!

📹 Youtube Playlist With Detailed Walkthroughs on My Setup: 💻 My Dev Environment & Workflow

Terminal Setup

✍🏼 Blog Post Step-by-Step Guide: How To Setup Your Mac Terminal

📹 Youtube Guide: How To Make Your Boring Mac Terminal So Much Better

Relevant Files

Tmux Setup

✍🏼 Blog Post: How To Use and Configure Tmux Alongside Neovim

📹 Youtube Guide: How I Setup And Use Tmux Alongside Neovim for an Awesome Dev Workflow

Relevant Files

Neovim Setup

💡 Tip: I highly recommend following along with me on youtube and use the repo as reference to set up the config. You'll understand everything a lot better and be able to change things and evolve the setup into your own!

If you clone the repo into your machine and use the config by copying .config/nvim to your home folder, you'll have to restart neovim after the plugins install. After restart, if you are opening a lua file or another file I have language servers configured for, like html, css or javascript/typescript, you might also get an error saying that the server failed to start. This is because Mason hasn't installed it yet. Press enter to continue, Mason will automatically install it.

📹 Youtube Step-by-Step Guide: How I Setup Neovim On My Mac To Make It Amazing

Relevant Files

Setup Requires

  • True Color Terminal Like: iTerm2
  • Neovim (Version 0.8 or Later)
  • Nerd Font - I use Meslo Nerd Font
  • Ripgrep - For Telescope Fuzzy Finder
  • XCode Command Line Tools
  • If working with typescript/javascript and the typescript language server like me. You might need to install node.

If you're on mac, like me, you can install iTerm2, Neovim, Ripgrep and Node with homebrew.

brew install --cask iterm2
brew install neovim
brew install ripgrep
brew install node

For XCode Command Line Tools do:

xcode-select --install

Nvim-Treesitter Updates

When nvim-treesitter updates, there might be breaking changes to corresponding parsers being used. I made a change to make sure parsers are automatically updated whenever nvim-treesitter is installed/updated. The code is found in this file: plugins-setup.lua

The updated code is this:

use({
    "nvim-treesitter/nvim-treesitter",
    run = function()
      local ts_update = require("nvim-treesitter.install").update({ with_sync = true })
      ts_update()
    end,
  })

Plugins

Plugin Manager

Dependency For Other Plugins

Preferred Colorscheme

Navigating Between Neovim Windows and Tmux

Essentials

File Explorer

VS Code Like Icons

Status Line

Fuzzy Finder

Autocompletion

Snippets

Managing & Installing Language Servers, Linters & Formatters

LSP Configuration

Formatting & Linting

Syntax Highlighting & Autoclosing Things

Git