Skip to content

zambelz48/zambelz-dev-env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zambelz Dev Environment

Table of contents

  1. Pre-requisites
  2. ZSH Configs
  3. Neovim Configs
  4. TMUX Configs

Pre-requisites

  1. Make sure your shell is zsh see this guide
  2. install required tools
  3. clone this repository at $HOME path (IMPORTANT)
  4. init git submodule: git submodule update --init --recursive
  5. create symlink at $HOME/.zshrc pointing to $HOME/zambelz-mac-configs/zsh/.zshrc
  6. source your .zshrc or restart the terminal

zsh configs

Installation

$ zconf zsh

note: you can source your .zshrc or restart the terminal after executin above command

neovim configs

Pre-requisites

Install Neovim Module
# NPM Module
$ npm install -g neovim

# Python Module
$ pip install neovim

# Ruby Module
$ gem install neovim
Install LSP
Using rustup
Prerequisites:  
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-analyzer
Cargo Crates
Prerequisites:  
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 Modules
- DOCKERCOMPOSE => @microsoft/compose-language-service  
- BASH => bash-language-server  
- DOCKERFILE => dockerfile-language-server-nodejs  
- VIM => vim-language-server  
- HTML, CSS, etc => vscode-langservers-extracted  
- YAML => yaml-language-server  
- TAILWINDCSS => @tailwindcss/language-server

## Command:
$ 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

### Notes:
- install ansible-lint for ansible lsp: https://ansible.readthedocs.io/projects/lint/installing/#installing-the-latest-version
Python Packages
- PYTHON Language Server => pyright (https://microsoft.github.io/pyright)
## Command:
$ pip install pyright
GO Packages
- 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
Ruby GEM Packages
- solargraph => solargraph (https://solargraph.org)

## Command:
$ gem install solargraph

## Notes:
$ Make sure ruby version is >= 2.7.0
Custom
# 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
3. extract content of omnisharp-roslyn in neovim/.lsp_vendors/omnisharp
4. 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.34.0-202404031240.tar.gz https://download.eclipse.org/jdtls/milestones/1.34.0/jdt-language-server-1.34.0-202404031240.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.34.0-202404031240.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
vscode-codelldb (c, cpp & rust)
1. download latest release of vscode-codelldb (.vsix) here: https://github.com/vadimcn/codelldb/releases
2. unzip to: `neovim/.dap/vscode-codelldb`

# To add debug config
- Create launch.json file inside `.vscode` in your root project

Installation

$  zconf neovim

Activate neovim plugins

  1. open neovim
  2. execute this command: :PackerInstall

tmux configs

Installation

$ zconf tmux

Activate tmux package manager

  1. open tmux mode
  2. press Ctrl + B and shift + I to install tmux plugins

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published