- Make sure your shell is
zshsee this guide - install required tools
- MANDATORY
- General
- Mac only
- Xcode: https://developer.apple.com/xcode
- Xcode command line utilities:
xcode-select --install - Rosetta(for Apple M chip users):
softwareupdate --install-rosetta - Homebrew: https://docs.brew.sh/Installation
- OPTIONAL
- mcfly: source
- tldr: source
- gvm (manage multiple go versions): source
- jenv (manage multiple java versions): source
- rbenv (manage multiple ruby versions): source
- pyenv (manage multiple python versions): source
- fnm (manage multiple nodejs versions): source
- glow (render markdown in terminal): source
- chafa (render images in terminal): source
- MANDATORY
- clone this repository at $HOME path (IMPORTANT)
- init git submodule:
git submodule update --init --recursive - create symlink at
$HOME/.zshrcpointing to$HOME/zambelz-mac-configs/zsh/.zshrc - source your
.zshrcor restart the terminal
$ zconf zshnote: you can source your .zshrc or restart the terminal after executin above command
# NPM Module
$ npm install -g neovim
# Python Module
$ pip install neovim
# Ruby Module
$ gem install neovimPrerequisites:
You have to install rust first (https://www.rust-lang.org/tools/install)
- Rust Language Server => rust-analyzer (https://rust-analyzer.github.io/manual.html#installation)
## Command:
$ rustup component add rust-src
$ rustup component add rust-analyzerPrerequisites:
You have to install rust first (https://www.rust-lang.org/tools/install)
- Rust Language Server => rust-analyzer
## Command:
$ cargo install rust-analyzer
- CMake => neocmakelsp (https://github.com/Decodetalkers/neocmakelsp)
## Command:
$ cargo install neocmakelsp $ npm install -g @microsoft/compose-language-service \
bash-language-server \
dockerfile-language-server-nodejs \
vim-language-server \
vscode-langservers-extracted \
yaml-language-server \
@tailwindcss/language-server \
graphql-language-service-cli \
@prisma/language-server \
@ansible/ansible-language-server \
typescript-language-server
### Notes:
- install ansible-lint for ansible lsp: https://ansible.readthedocs.io/projects/lint/installing/#installing-the-latest-version- PYTHON Language Server => pyrefly (https://pyrefly.org)
## Command:
$ pip install pyrefly- gopls => go language server (https://github.com/golang/tools/tree/master/gopls#gopls-the-go-language-server)
## Command:
$ go install golang.org/x/tools/gopls@latest
## Notes:
- Make sure GOPATH already registered on your shell- solargraph => solargraph (https://solargraph.org)
## Command:
$ gem install solargraph
## Notes:
$ Make sure ruby version is >= 2.7.0# Setup "omnisharp" (C# Language Server)
prerequisites: .NET SDK
1. create 'omnisharp' dir
- cmd: mkdir neovim/.lsp_vendors/omnisharp
2. download omnisharp-roslyn here: https://github.com/OmniSharp/omnisharp-roslyn/releases
- mac: `omnisharp-osx-arm64-net6.0.zip`
- linux: `omnisharp-linux-<ARCH>-net6.0.zip`
3. extract content of omnisharp-roslyn in neovim/.lsp_vendors/omnisharp
4. create symlink to the 'OmniSharp' executable or add 'neovim/.lsp_vendors/omnisharp' to the PATH.
5. ensure 'OmniSharp' is executable
- cmd: chmod ugo+x /path/to/OmniSharp
6. ensure "$DOTNET_ROOT" is set in the PATH. if not, the root should be set to the .NET (dotnet) binary located.
7. enforce https: https://learn.microsoft.com/en-us/aspnet/core/security/enforcing-ssl?view=aspnetcore-8.0&tabs=visual-studio%2Clinux-rhel#trust-the-aspnet-core-https-development-certificate-on-windows-and-macos
# Setup "jdtls" (Java Language Server)
prerequisites: java 21+ (MANDATORY)
see here for updated JDTLS version: https://download.eclipse.org/jdtls/milestones/?d
source: https://github.com/mfussenegger/nvim-jdtls
1. Download jdtls
- cmd: curl -o neovim/.lsp_vendors/jdt-language-server-1.46.0-202503271314.tar.gz https://download.eclipse.org/jdtls/milestones/1.46.0/jdt-language-server-1.46.0-202503271314.tar.gz
2. Create "jdtls" dir
- cmd: mkdir neovim/.lsp_vendors/jdtls
3. Unzip to specified location
- cmd: tar xf neovim/.lsp_vendors/jdt-language-server-1.46.0-202503271314.tar.gz --directory=neovim/.lsp_vendors/jdtls
4. create workspace_data dir
- cmd: mkdir neovim/.lsp_vendors/jdtls/project_data
5. create new file `neovim/.lsp_vendors/jdtls/config/intellij-java-google-style.xml` and copy the content from: https://github.com/google/styleguide/blob/gh-pages/intellij-java-google-style.xml
# Setup "vscode-gradle"
1. go to neovim/.lsp_vendors/vscode-gradle
2. execute: ./gradlew installDist
# Setup "kotlin-language-server"
1. Make sure your java version is Java 11
2. go to neovim/.lsp_vendors/kotlin-language-server
3. execute: ./gradlew :server:installDist
# Setup "lua-language-server"
1. make sure [ninja](https://ninja-build.org/) is installed
2. go to neovim/.lsp_vendors/lua-language-server
3. execute: ./make.sh
# Setup "lemminx" (xml language server)
1. download the binary here: https://github.com/redhat-developer/vscode-xml/releases
2. save the binary to the path: `neovim/.lsp_vendors/xml-lsp/lemminx`
3. register the binary in PATH
# Setup "terraform-ls" (terraform language server)
1. go to: https://github.com/hashicorp/terraform-ls- Install Debug Adapter Protocol
- C/C++/Rust (https://github.com/mfussenegger/nvim-dap/wiki/C-C---Rust-(via--codelldb))
- download latest release of vscode-codelldb (.vsix) here: https://github.com/vadimcn/codelldb/releases
- unzip to:
neovim/.dap/vscode-codelldb
- Go (https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation#go-using-delve-directly)
- Install delve:
go install github.com/go-delve/delve/cmd/dlv@latest
- Install delve:
- Javascript/Typescript
- Download
js-debug-dap-${version}.tar.gzfrom their releases page. - Extract to:
neovim/.dap/vscode-js-debug
- Download
- dart/flutter
- just install flutter sdk
- C/C++/Rust (https://github.com/mfussenegger/nvim-dap/wiki/C-C---Rust-(via--codelldb))
- Add debug config
- Create
launch.jsonfile inside.vscodein your root project
- Create
$ zconf neovim- open neovim. lazy nvim should run automatically
- Install
hererocks
pip install --user hererocks- Manually setup Lua 5.1 + LuaRocks
cd ~/.local/share/nvim
mkdir -p lazy-rocks
cd lazy-rocks
hererocks . --lua=5.1 -r latest
source ./bin/activate$ zconf tmux- open tmux mode
- press
Ctrl + Bandshift + Ito install tmux plugins