2022-10-17 23:05:01 +02:00
# My Dev Environment Files 🚀
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
**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 ](https://youtube.com/playlist?list=PLnu5gT9QrFg36OehOdECFvxFFeMHhb_07 )
# Terminal Setup
2023-08-24 19:52:25 +02:00
2022-10-18 22:46:22 +02:00
✍🏼 Blog Post Step-by-Step Guide: [How To Setup Your Mac Terminal ](https://josean.com/posts/terminal-setup )
2022-10-17 23:05:01 +02:00
2022-10-28 08:55:56 +02:00
📹 Youtube Guide: [How To Make Your Boring Mac Terminal So Much Better ](https://www.youtube.com/watch?v=CF1tMjvHDRA&list=PLnu5gT9QrFg36OehOdECFvxFFeMHhb_07&index=2&t=479s )
2022-10-17 23:05:01 +02:00
### Relevant Files
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [.zshrc ](.zshrc ) - Zsh Shell Configuration
- [coolnight.itermcolors ](coolnight.itermcolors ) - iTerm2 Color Scheme
2022-10-28 08:52:52 +02:00
# Tmux Setup
2023-08-24 19:52:25 +02:00
2022-10-28 08:56:39 +02:00
✍🏼 Blog Post: [How To Use and Configure Tmux Alongside Neovim ](https://josean.com/posts/tmux-setup )
2022-10-28 08:52:52 +02:00
2022-10-28 08:56:39 +02:00
📹 Youtube Guide: [How I Setup And Use Tmux Alongside Neovim for an Awesome Dev Workflow ](https://youtu.be/U-omALWIBos )
2022-10-28 08:52:52 +02:00
### Relevant Files
2023-08-24 19:52:25 +02:00
2022-10-28 08:52:52 +02:00
- [.tmux.conf ](.tmux.conf ) - Tmux Configuration File
2023-02-11 15:28:54 +01:00
# Yabai Tiling Window Manager Setup
2023-08-24 19:52:25 +02:00
2023-02-11 15:28:54 +01:00
✍🏼 Blog Post: [How To Setup And Use The Yabai Tiling Window Manager On Mac ](https://josean.com/posts/yabai-setup )
2023-02-11 15:29:20 +01:00
2023-02-12 17:09:26 +01:00
📹 Youtube Guide: [How To Setup And Use The Yabai Tiling Window Manager On Mac ](https://youtu.be/k94qImbFKWE )
2023-02-11 15:28:54 +01:00
### Relevant Files
2023-08-24 19:52:25 +02:00
2023-02-11 15:30:19 +01:00
- [.config/yabai/yabairc ](.config/yabai/yabairc )
- [.config/skhd/skhdrc ](.config/skhd/skhdrc )
2023-02-11 15:28:54 +01:00
2022-10-17 23:05:01 +02:00
# Neovim Setup
2022-10-19 18:37:40 +02:00
2023-08-24 19:52:25 +02:00
**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 ](https://github.com/josean-dev/dev-environment-files/tree/packer-nvim-setup )
2022-10-19 18:37:40 +02:00
2023-08-24 19:52:25 +02:00
📹 Packer Full Neovim Setup Guide: [How I Setup Neovim On My Mac To Make It Amazing ](https://youtu.be/vdn_pKJUda8 )
2023-08-24 19:54:04 +02:00
2023-09-05 02:53:29 +02:00
📹 lazy.nvim Neovim Guide: [How To Use lazy.nvim for an Amazing And Simple Neovim Config ](https://youtu.be/6mxWayq-s9I )
2023-08-24 19:52:25 +02:00
_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._
2022-10-17 23:05:01 +02:00
2022-11-06 00:05:39 +01:00
### Relevant Files
2023-08-24 19:52:25 +02:00
2022-11-06 00:05:39 +01:00
- [.config/nvim ](.config/nvim )
2022-11-02 01:03:06 +01:00
2022-11-01 22:41:15 +01:00
### Setup Requires
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- True Color Terminal Like: [iTerm2 ](https://iterm2.com/ )
2023-08-24 19:52:25 +02:00
- [Neovim ](https://neovim.io/ ) (Version 0.9 or Later)
2022-10-17 23:05:01 +02:00
- [Nerd Font ](https://www.nerdfonts.com/ ) - I use Meslo Nerd Font
2022-10-19 03:00:57 +02:00
- [Ripgrep ](https://github.com/BurntSushi/ripgrep ) - For Telescope Fuzzy Finder
2022-11-05 23:23:18 +01:00
- XCode Command Line Tools
2022-10-23 07:55:15 +02:00
- If working with typescript/javascript and the typescript language server like me. You might need to install node.
2022-10-19 03:00:57 +02:00
2022-11-02 01:28:15 +01:00
If you're on mac, like me, you can install iTerm2, Neovim, Ripgrep and Node with homebrew.
2023-08-24 19:52:25 +02:00
2022-10-19 03:00:57 +02:00
```bash
brew install --cask iterm2
```
2023-08-24 19:52:25 +02:00
2022-10-19 03:00:57 +02:00
```bash
brew install neovim
```
2023-08-24 19:52:25 +02:00
2022-10-19 03:00:57 +02:00
```bash
brew install ripgrep
```
2023-08-24 19:52:25 +02:00
2022-11-02 01:28:15 +01:00
```bash
brew install node
```
2022-10-17 23:05:01 +02:00
2022-11-05 23:23:18 +01:00
For XCode Command Line Tools do:
2023-08-24 19:52:25 +02:00
2022-11-05 23:23:18 +01:00
```bash
xcode-select --install
```
2022-10-17 23:05:01 +02:00
## Plugins
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
#### Plugin Manager
2023-08-24 19:52:25 +02:00
- [folke/lazy.nvim ](https://github.com/folke/lazy.nvim ) - Amazing plugin manager
2022-10-17 23:05:01 +02:00
#### Dependency For Other Plugins
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [nvim-lua/plenary ](https://github.com/nvim-lua/plenary.nvim ) - Useful lua functions other plugins use
#### Preferred Colorscheme
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [bluz71/vim-nightfly-guicolors ](https://github.com/bluz71/vim-nightfly-guicolors )
#### Navigating Between Neovim Windows and Tmux
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [christoomey/vim-tmux-navigator ](https://github.com/christoomey/vim-tmux-navigator )
#### Essentials
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [tpope/vim-surround ](https://github.com/tpope/vim-surround ) - manipulate surroundings with "ys", "ds", and "cs"
- [vim-scripts/ReplaceWithRegister ](https://github.com/vim-scripts/ReplaceWithRegister ) - replace things with register with "gr"
#### File Explorer
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [nvim-tree/nvim-tree.lua ](https://github.com/nvim-tree/nvim-tree.lua )
#### VS Code Like Icons
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [kyazdani42/nvim-web-devicons ](https://github.com/kyazdani42/nvim-web-devicons )
2023-08-24 19:52:25 +02:00
#### Neovim Greeter
- [goolord/alpha-nvim ](https://github.com/goolord/alpha-nvim )
2022-10-17 23:05:01 +02:00
#### Status Line
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [nvim-lualine/lualine.nvim ](https://github.com/nvim-lualine/lualine.nvim )
2023-08-24 19:52:25 +02:00
#### Buffer Line
- [akinsho/bufferline.nvim ](https://github.com/akinsho/bufferline.nvim )
#### Keymap Suggestions
- [folke/which-key.nvim ](https://github.com/folke/which-key.nvim )
2022-10-17 23:05:01 +02:00
#### Fuzzy Finder
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [nvim-telescope/telescope-fzf-native.nvim ](https://github.com/nvim-telescope/telescope-fzf-native.nvim ) - Dependency for better performance
- [nvim-telescope/telescope.nvim ](https://github.com/nvim-telescope/telescope.nvim ) - Fuzzy Finder
2023-09-02 18:03:40 +02:00
- [stevearc/dressing.nvim ](https://github.com/stevearc/dressing.nvim ) - select/input ui improvement
2022-10-17 23:05:01 +02:00
2023-08-24 19:52:25 +02:00
#### Marking Files With Prime's Harpoon
- [ThePrimeagen/harpoon ](https://github.com/ThePrimeagen/harpoon )
2022-10-17 23:05:01 +02:00
#### Autocompletion
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [hrsh7th/nvim-cmp ](https://github.com/hrsh7th/nvim-cmp ) - Completion plugin
- [hrsh7th/cmp-buffer ](https://github.com/hrsh7th/cmp-buffer ) - Completion source for text in current buffer
- [hrsh7th/cmp-path ](https://github.com/hrsh7th/cmp-path ) - Completion source for file system paths
2023-09-02 18:03:40 +02:00
- [onsails/lspkind.nvim ](https://github.com/onsails/lspkind.nvim ) - Vs Code Like Icons for autocompletion
2022-10-17 23:05:01 +02:00
#### Snippets
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [L3MON4D3/LuaSnip ](https://github.com/L3MON4D3/LuaSnip ) - Snippet engine
- [rafamadriz/friendly-snippets ](https://github.com/rafamadriz/friendly-snippets ) - Useful snippets for different languages
- [saadparwaiz1/cmp_luasnip ](https://github.com/saadparwaiz1/cmp_luasnip ) - Completion source for snippet autocomplete
#### Managing & Installing Language Servers, Linters & Formatters
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [williamboman/mason.nvim ](https://github.com/williamboman/mason.nvim )
#### LSP Configuration
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [williamboman/mason-lspconfig.nvim ](https://github.com/williamboman/mason-lspconfig.nvim ) - Bridges gap b/w mason & lspconfig
- [neovim/nvim-lspconfig ](https://github.com/neovim/nvim-lspconfig ) - Easy way to configure lsp servers
- [hrsh7th/cmp-nvim-lsp ](https://github.com/hrsh7th/cmp-nvim-lsp ) - Smart code autocompletion with lsp
#### Formatting & Linting
2023-08-24 19:52:25 +02:00
2023-09-30 18:19:42 +02:00
- [stevearc/conform.nvim ](https://github.com/stevearc/conform.nvim ) - Easy way to configure formatters
- [mfussenegger/nvim-lint ](https://github.com/mfussenegger/nvim-lint ) - Easy way to configure linters
- [WhoIsSethDaniel/mason-tool-installer.nvim ](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim ) - Auto install linters & formatters on startup
2022-10-17 23:05:01 +02:00
2023-10-04 22:48:37 +02:00
#### Comments
- [numToStr/Comment.nvim ](https://github.com/numToStr/Comment.nvim ) - toggle comments with "gc"
- [JoosepAlviste/nvim-ts-context-commentstring ](https://github.com/JoosepAlviste/nvim-ts-context-commentstring ) - Requires treesitter
#### Treesitter Syntax Highlighting, Autoclosing & Text Objects
2023-08-24 19:52:25 +02:00
2022-10-17 23:05:01 +02:00
- [nvim-treesitter/nvim-treesitter ](https://github.com/nvim-treesitter/nvim-treesitter ) - Treesitter configuration
2023-10-04 22:48:37 +02:00
- [nvim-treesitter/nvim-treesitter-textobjects ](https://github.com/nvim-treesitter/nvim-treesitter-textobjects ) - Treesitter configuration
2022-10-17 23:05:01 +02:00
- [windwp/nvim-autopairs ](https://github.com/windwp/nvim-autopairs ) - Autoclose brackets, parens, quotes, etc...
- [windwp/nvim-ts-autotag ](https://github.com/windwp/nvim-ts-autotag ) - Autoclose tags
#### Git
2023-08-24 19:52:25 +02:00
- [lewis6991/gitsigns.nvim ](https://github.com/lewis6991/gitsigns.nvim ) - Show line modifications on left hand side