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
2024-05-06 17:01:58 +02:00
After recommendations from you guys, I've swapped out Alacritty for [WezTerm ](https://wezfurlong.org/wezterm/index.html )!
Everything is the same except the Alacritty config file, you can swap it out with this [~/.wezterm.lua ](.wezterm.lua ) file and everything should look and work very similar to Alacritty!
2024-05-03 16:43:07 +02:00
🏼 ✍Blog Post Step-by-Step Guide: [How To Make Your Boring Mac Terminal Amazing With Alacritty ](https://josean.com/posts/how-to-setup-alacritty-terminal )
2022-10-17 23:05:01 +02:00
2024-05-03 16:43:07 +02:00
📹 Youtube Guide: [How To Make Your Boring Mac Terminal Amazing With Alacritty ](https://youtu.be/uOnL4fEnldA )
2022-10-17 23:05:01 +02:00
2024-04-17 22:17:34 +02:00
You'll also need to install extra cli tools as described in this blog post and video:
2024-04-24 09:04:39 +02:00
✍🏼 Blog Post : [7 Amazing CLI Tools You Won't Be Able To Live Without ](https://josean.com/posts/7-amazing-cli-tools )
2024-04-17 22:41:09 +02:00
2024-04-17 22:17:34 +02:00
📹 Youtube Video: [7 Amazing CLI Tools You Won't Be Able To Live Without ](https://www.youtube.com/mmqDYw9C30I )
- [fzf ](https://github.com/junegunn/fzf.git )
- [fd ](https://github.com/sharkdp/fd )
- [fzf-git ](https://github.com/junegunn/fzf-git.sh )
- [bat ](https://github.com/sharkdp/bat )
- [delta ](https://github.com/dandavison/delta )
- [eza ](https://github.com/eza-community/eza.git )
- [tldr ](https://github.com/tldr-pages/tldr )
- [thefuck ](https://github.com/nvbn/thefuck )
2024-04-17 22:10:58 +02:00
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
2024-05-03 06:01:05 +02:00
- [coolnight.toml ](.config/alacritty/themes/themes/coolnight.toml ) - Alacritty Color Scheme
2022-10-17 23:05:01 +02:00
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
2024-08-10 17:44:00 +02:00
# Aerospace Tiling Window Manager Setup
✍🏼 Blog Post: [How To Setup And Use The Aerospace Tiling Window Manager On macOS ](https://josean.com/posts/how-to-setup-aerospace-tiling-window-manager )
📹 Youtube Guide: [How To Setup And Use The Aerospace Tiling Window Manager On macOS ](https://youtu.be/-FoWClVHG5g )
### Relevant Files
- [.config/aerospace/aerospace.toml ](.config/aerospace/aerospace.toml )
2024-01-08 22:41:37 +01:00
# Sketchybar Custom Menu Bar Setup
✍🏼 Blog Post: [How To Make An Amazing Custom Menu Bar For Your Mac With Sketchybar ](https://josean.com/posts/sketchybar-setup )
2024-01-08 22:41:57 +01:00
2024-01-08 22:41:37 +01:00
📹 Youtube Guide: [How To Make An Amazing Custom Menu Bar For Your Mac With Sketchybar ](https://youtu.be/k94qImbFKWE )
### Setup Requires
- sketchybar: `brew tap FelixKratz/formulae` and `brew install sketchybar`
- jq (json command line processor): `brew install jq`
- SF Pro Font: `brew tap homebrew/cask-fonts` and `brew install font-sf-pro`
- SF Symbols: `brew install --cask sf-symbols` :
- Sketchybar App Font:
```bash
`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
- [.config/sketchybar ](.config/sketchybar/ )
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
2024-04-03 17:30:40 +02:00
✍🏼 Blog Post: [How I Setup Neovim On My Mac To Make It AMAZING In 2024 ](https://josean.com/posts/how-to-setup-neovim-2024 )
📹 Complete Neovim Setup Guide: [How I Setup Neovim On My Mac To Make It AMAZING In 2024 ](https://youtu.be/6pAG3BHurdM )
2023-08-24 19:54:04 +02:00
2024-04-03 17:30:40 +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
2024-04-03 17:30:40 +02:00
- 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.
2022-10-19 03:00:57 +02:00
2024-04-03 17:30:40 +02:00
iTerm2:
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
2024-04-03 17:30:40 +02:00
Nerd font:
```bash
brew tap homebrew/cask-fonts
brew install font-meslo-lg-nerd-font
```
Neovim:
2022-10-19 03:00:57 +02:00
```bash
brew install neovim
```
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
Ripgrep:
2022-10-19 03:00:57 +02:00
```bash
brew install ripgrep
```
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
Node/Npm:
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
2024-04-03 17:30:40 +02:00
- [folke/tokyonight.nvim ](https://github.com/folke/tokyonight.nvim ) - tokyonight colorscheme (I modified some colors it in config)
2022-10-17 23:05:01 +02:00
#### Navigating Between Neovim Windows and Tmux
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
- [christoomey/vim-tmux-navigator ](https://github.com/christoomey/vim-tmux-navigator ) - navigate b/w nvim splits & tmux panes with CTRL+h,j,k,l
2022-10-17 23:05:01 +02:00
#### Essentials
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
- [kylechui/nvim-surround ](https://github.com/kylechui/nvim-surround ) - manipulate surroundings with "ys", "ds", and "cs"
- [gbprod/substitute.nvim ](https://github.com/gbprod/substitute.nvim ) - replace things with register with "s" and "S"
2022-10-17 23:05:01 +02:00
#### 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
2024-04-03 17:30:40 +02:00
- [goolord/alpha-nvim ](https://github.com/goolord/alpha-nvim ) -- neovim greeter on startup
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
#### Auto Sessions
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
- [rmagatti/auto-session ](https://github.com/rmagatti/auto-session ) - auto save neovim sessions/restore with keymap
2022-10-17 23:05:01 +02:00
2024-04-03 17:30:40 +02:00
#### Statusline
2023-08-24 19:52:25 +02:00
2024-04-03 17:30:40 +02:00
- [nvim-lualine/lualine.nvim ](https://github.com/nvim-lualine/lualine.nvim ) - Better statusline
#### Bufferline
- [akinsho/bufferline.nvim ](https://github.com/akinsho/bufferline.nvim ) - Better looking tabs
2023-08-24 19:52:25 +02:00
#### Keymap Suggestions
2024-04-03 17:30:40 +02:00
- [folke/which-key.nvim ](https://github.com/folke/which-key.nvim ) - Get suggested keymaps as you type
2023-08-24 19:52:25 +02:00
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
#### 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
2024-04-03 17:30:40 +02:00
- [williamboman/mason.nvim ](https://github.com/williamboman/mason.nvim ) - Install language servers, formatters and linters
2022-10-17 23:05:01 +02:00
#### 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
2024-04-03 17:30:40 +02:00
#### Trouble.nvim
- [folke/trouble.nvim ](https://github.com/folke/trouble.nvim ) - nice way to see diagnostics and other stuff
2022-10-17 23:05:01 +02:00
#### 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
2024-04-03 17:30:40 +02:00
- [folke/todo-comments.nvim ](https://github.com/folke/todo-comments.nvim ) - highlight/search for comments like todo/hack/bug
2023-10-04 22:48:37 +02:00
#### 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
2024-04-03 17:30:40 +02:00
#### Indent Guides
- [lukas-reineke/indent-blankline.nvim ](https://github.com/lukas-reineke/indent-blankline.nvim ) - Indent guides with treesitter integration
2022-10-17 23:05:01 +02:00
#### Git
2024-04-03 17:30:40 +02:00
- [lewis6991/gitsigns.nvim ](https://github.com/lewis6991/gitsigns.nvim ) - Show modifications on left hand side and interact with git hunks
- [kdheepak/lazygit.nvim ](https://github.com/kdheepak/lazygit.nvim ) - Use lazygit within Neovim