- Neovim >= 0.9.5
- Tmux >= 3.2 (optional, for tmux integration)
gcc,make,clangfor Mason to compile and build LSPs
Warning
for language specific LSPs you need to install its stuff for example NodeJS related LSPs needs npm to be installed
list of needed language specific deps: npm/nodejs, go, gcc, make, unzip, tar.
Please follow these steps:
- Preparation:
- Ensure that Neovim is not running.
- Remove or move your current
nvimdirectory (if it exists).
Note
The installer takes care of Backing up your old nvim config or overwrites it.
- Installation:
- On Linux/MacOS:
bash <(curl -s https://raw.githubusercontent.com/N1xev/SamoulyVim/main/install.sh)- On Windows (Powershell):
Invoke-WebRequest https://raw.githubusercontent.com/N1xev/SamoulyVim/main/install.ps1 -UseBasicParsing | Invoke-ExpressionThe installer will:
- Detect your package manager (Linux: paru/yay, Windows: winget/choco)
- Force install essential tools: opencode, ripgrep, fd, lazygit
- Let you select which languages to install: Go, Rust, Node.js, Python
Since i have flake.nix file we can install it with some ways:
- test it with
nix run:
nix run github:N1xev/SamoulyVim- the flakes way:
- in your flake.nix:
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
samoulyvim.url = "github:N1xev/SamoulyVim";
};
# ... inside your outputs
}- add it to your home.packages:
home.packages = [
inputs.samoulyvim.packages.${pkgs.system}.default
];After switching your home-manager config, run slvim in your terminal.
- installing it system-wide:
-
add it as flakes input as shown above
-
add it to your
configuration.nix:
environment.systemPackages = [
inputs.samoulyvim.packages.${pkgs.system}.default
];Note
Currently the config goes into your /nix/store and we have an isolated binary slvim
If you prefer manual setup:
# Arch Linux with yay:
yay -S opencode ripgrep fd lazygit go rust nodejs python
# Arch Linux with paru:
paru -S opencode ripgrep fd lazygit go rust nodejs python
# Windows with winget:
winget install opencode ripgrep fd lazygit Go.Go Rustlang.Rust OpenJS.NodeJS Python.Python.3
# Windows with Chocolatey:
choco install opencode ripgrep fd lazygit go rust nodejs python- Clone this repository:
git clone https://github.com/N1xev/SamoulyVim ~/.config/nvim- Start Neovim:
nvim- Lazy will automatically install all plugins and dependencies.
Currently i supported gh-dash it have a port for neovim so its very good to add.
its a github-cli plugin so we need to install gh first:
# Arch with yay
yay -S github-cli
# Arch with paru
paru -S github-cli
# windows with winget
winget install Github.Cli
# windows with Chocolatey
choco install Github.cliWarning
you need to login with gh auth login with your github account to install any gh extension
first we need to install it by gh extension
gh extension install dlvhdr/gh-dashnow you can test it in your terminal with:
gh dashand in NeoVim with: <leader>gu
SamoulyVim includes multiple custom themes:
- Azure Depth
- Desert Sunset
- Forest Whisper
- Lavenadr Dreams
- Nahody
- Samtone
- Tailsvim
- Volcanic Ash
- and alot of other great themes, pick what makes your eyes comfortable :)
Themes automatically sync with tmux colors. Switch themes with :Telescope colorscheme or :colorscheme <theme>.
- Go: LSP, debugging, testing, formatting
- Rust: LSP, debugging, cargo integration
- TypeScript/JavaScript: LSP, formatting
- Python: LSP, linting (install python-lsp-server)
Refer to LazyVim documentation for general usage.
<leader>e: Toggle nvim-tree<leader>o: OpenCode commands<leader>f: Telescope find files<leader>u: UI related commands
Contributions welcome! Please open issues or pull requests.
Apache v2 License - see LICENSE file for details.
