Awesome
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
After recommendations from you guys, I've swapped out Alacritty for WezTerm! Everything is the same except the Alacritty config file, you can swap it out with this ~/.wezterm.lua file and everything should look and work very similar to Alacritty!
🏼 ✍Blog Post Step-by-Step Guide: How To Make Your Boring Mac Terminal Amazing With Alacritty
📹 Youtube Guide: How To Make Your Boring Mac Terminal Amazing With Alacritty
You'll also need to install extra cli tools as described in this blog post and video:
✍🏼 Blog Post : 7 Amazing CLI Tools You Won't Be Able To Live Without
📹 Youtube Video: 7 Amazing CLI Tools You Won't Be Able To Live Without
Relevant Files
- .zshrc - Zsh Shell Configuration
- coolnight.toml - Alacritty Color Scheme
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
- .tmux.conf - Tmux Configuration File
Yabai Tiling Window Manager Setup
✍🏼 Blog Post: How To Setup And Use The Yabai Tiling Window Manager On Mac
📹 Youtube Guide: How To Setup And Use The Yabai Tiling Window Manager On Mac
Relevant Files
Aerospace Tiling Window Manager Setup
✍🏼 Blog Post: How To Setup And Use The Aerospace Tiling Window Manager On macOS
📹 Youtube Guide: How To Setup And Use The Aerospace Tiling Window Manager On macOS
Relevant Files
Sketchybar Custom Menu Bar Setup
✍🏼 Blog Post: How To Make An Amazing Custom Menu Bar For Your Mac With Sketchybar
📹 Youtube Guide: How To Make An Amazing Custom Menu Bar For Your Mac With Sketchybar
Setup Requires
- sketchybar:
brew tap FelixKratz/formulae
andbrew install sketchybar
- jq (json command line processor):
brew install jq
- SF Pro Font:
brew tap homebrew/cask-fonts
andbrew install font-sf-pro
- SF Symbols:
brew install --cask sf-symbols
: - Sketchybar App Font:
`curl -L https://github.com/kvndrsslr/sketchybar-app-font/releases/download/v1.0.16/sketchybar-app-font.ttf -o $HOME/Library/Fonts/sketchybar-app-font.ttf`
Relevant Files
Neovim Setup
Important: This is my latest config with lazy.nvim. It is similar, but not the same as my original packer setup.
If you are coming from my full neovim setup video with packer, that config is found here: Packer Config
✍🏼 Blog Post: How I Setup Neovim On My Mac To Make It AMAZING In 2024 📹 Complete Neovim Setup Guide: How I Setup Neovim On My Mac To Make It AMAZING In 2024
If you clone the repo into your machine and use the config by copying .config/nvim to your home folder, wait for the plugins, language servers and parsers to install with lazy.nvim, Mason and nvim-treesitter. 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.
Relevant Files
Setup Requires
- True Color Terminal Like: iTerm2
- Neovim (Version 0.9 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/npm.
If you're on mac, like me, you can install iTerm2, Neovim, Meslo Nerd Font, Ripgrep and Node with homebrew.
iTerm2:
brew install --cask iterm2
Nerd font:
brew tap homebrew/cask-fonts
brew install font-meslo-lg-nerd-font
Neovim:
brew install neovim
Ripgrep:
brew install ripgrep
Node/Npm:
brew install node
For XCode Command Line Tools do:
xcode-select --install
Plugins
Plugin Manager
- folke/lazy.nvim - Amazing plugin manager
Dependency For Other Plugins
- nvim-lua/plenary - Useful lua functions other plugins use
Preferred Colorscheme
- folke/tokyonight.nvim - tokyonight colorscheme (I modified some colors it in config)
Navigating Between Neovim Windows and Tmux
- christoomey/vim-tmux-navigator - navigate b/w nvim splits & tmux panes with CTRL+h,j,k,l
Essentials
- kylechui/nvim-surround - manipulate surroundings with "ys", "ds", and "cs"
- gbprod/substitute.nvim - replace things with register with "s" and "S"
File Explorer
VS Code Like Icons
Neovim Greeter
- goolord/alpha-nvim -- neovim greeter on startup
Auto Sessions
- rmagatti/auto-session - auto save neovim sessions/restore with keymap
Statusline
- nvim-lualine/lualine.nvim - Better statusline
Bufferline
- akinsho/bufferline.nvim - Better looking tabs
Keymap Suggestions
- folke/which-key.nvim - Get suggested keymaps as you type
Fuzzy Finder
- nvim-telescope/telescope-fzf-native.nvim - Dependency for better performance
- nvim-telescope/telescope.nvim - Fuzzy Finder
- stevearc/dressing.nvim - select/input ui improvement
Autocompletion
- hrsh7th/nvim-cmp - Completion plugin
- hrsh7th/cmp-buffer - Completion source for text in current buffer
- hrsh7th/cmp-path - Completion source for file system paths
- onsails/lspkind.nvim - Vs Code Like Icons for autocompletion
Snippets
- L3MON4D3/LuaSnip - Snippet engine
- rafamadriz/friendly-snippets - Useful snippets for different languages
- saadparwaiz1/cmp_luasnip - Completion source for snippet autocomplete
Managing & Installing Language Servers, Linters & Formatters
- williamboman/mason.nvim - Install language servers, formatters and linters
LSP Configuration
- williamboman/mason-lspconfig.nvim - Bridges gap b/w mason & lspconfig
- neovim/nvim-lspconfig - Easy way to configure lsp servers
- hrsh7th/cmp-nvim-lsp - Smart code autocompletion with lsp
Trouble.nvim
- folke/trouble.nvim - nice way to see diagnostics and other stuff
Formatting & Linting
- stevearc/conform.nvim - Easy way to configure formatters
- mfussenegger/nvim-lint - Easy way to configure linters
- WhoIsSethDaniel/mason-tool-installer.nvim - Auto install linters & formatters on startup
Comments
- numToStr/Comment.nvim - toggle comments with "gc"
- JoosepAlviste/nvim-ts-context-commentstring - Requires treesitter
- folke/todo-comments.nvim - highlight/search for comments like todo/hack/bug
Treesitter Syntax Highlighting, Autoclosing & Text Objects
- nvim-treesitter/nvim-treesitter - Treesitter configuration
- nvim-treesitter/nvim-treesitter-textobjects - Treesitter configuration
- windwp/nvim-autopairs - Autoclose brackets, parens, quotes, etc...
- windwp/nvim-ts-autotag - Autoclose tags
Indent Guides
- lukas-reineke/indent-blankline.nvim - Indent guides with treesitter integration
Git
- lewis6991/gitsigns.nvim - Show modifications on left hand side and interact with git hunks
- kdheepak/lazygit.nvim - Use lazygit within Neovim