You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
brew install --cask font-jetbrains-mono-nerd-font
# or
brew install --cask font-fira-code-nerd-font
Then set your terminal to use the installed font.
3. Language Toolchains (Install what you need)
# Go
brew install go
# After install, run :GoInstallBinaries in nvim# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# After install, run :CargoInstallTools in nvim# Zig
brew install zig
# Python
brew install python
pip install pynvim # Optional: for some plugins# PHP
brew install php composer
# Laravel LSP (optional, for Laravel projects — see "Language Servers" below)
composer global require laravel/lsp
# Swift / iOS (macOS only)# Xcode + Command Line Tools provide sourcekit-lsp and xcodebuild# Lua (for luarocks, optional)
brew install lua luarocks
# Backup existing config
mv ~/.config/nvim ~/.config/nvim.bak
mv ~/.local/share/nvim ~/.local/share/nvim.bak
mv ~/.local/state/nvim ~/.local/state/nvim.bak
mv ~/.cache/nvim ~/.cache/nvim.bak
# Clone this config
git clone <your-repo>~/.config/nvim
# Start Neovim - plugins will auto-install on first launch
nvim
6. Post-Install Steps
Run these commands in Neovim after first launch:
" Wait for lazy.nvim to finish installing plugins, then:" Generate help tags
:helptagsALL" Install treesitter parsers (auto-installs, but can force)
:TSUpdate
" Check health
:checkhealth
" For Go development
:GoInstallBinaries
" For Rust development
:CargoInstallTools
" Build markdown-preview (if not auto-built)
:Lazy build markdown-preview.nvim
Powered by xcodebuild.nvim. Requires Xcode + Command Line Tools.
Key / Command
Action
<leader>xs
Setup project
<leader>xb / xr
Build / Build & Run
<leader>xt
Run tests
<leader>xT / xf
Test current class / function
<leader>xS / xd
Select scheme / device
<leader>xo
Boot simulator
<leader>xl
Toggle build logs
:XcodebuildPicker
All commands menu
Language Servers
Server configs live under lsp/ and are activated via vim.lsp.enable() in lua/plugins/lsp.lua.
Auto-installed via Mason:
Go: gopls
Rust: rust-analyzer
Zig: zls
Lua: lua_ls
TypeScript: ts_ls
Python: pyright
PHP: intelephense
Bash: bashls
CSS/HTML/JSON/YAML: vscode servers
Not managed by Mason:
Swift / Objective-C: sourcekit-lsp (ships with Xcode)
Laravel: laravel-lsp (installed via Composer, see below)
Laravel LSP
laravel/lsp is Laravel's official language server. It is
not available through Mason — install it globally with Composer:
composer global require laravel/lsp
Make sure Composer's global bin directory is on your PATH, otherwise Neovim cannot find
the laravel-lsp binary:
# Add to ~/.zshrc (macOS default location)export PATH="$HOME/.config/composer/vendor/bin:$PATH"# Verify
which laravel-lsp
Config lives in lsp/laravel_lsp.lua. The filename must match the name passed to
vim.lsp.enable() in lua/plugins/lsp.lua — laravel_lsp resolves to
lsp/laravel_lsp.lua, so a hyphenated filename silently fails to load.
It runs alongside intelephense rather than replacing it. intelephense handles general PHP
intelligence (classes, methods, properties); laravel-lsp adds Laravel-aware completion for
strings such as config('…'), route('…'), view('…') and env('…'), plus Blade
directives. It boots the Laravel application, so it only works in a real Laravel project
(one containing artisan).
To verify: open a PHP file in a Laravel project, type config(' in insert mode, and the
config keys should appear. :checkhealth vim.lsp lists it as attached.