Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .github/assets/clean-editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/dashboard.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/md.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/notifications-panels.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/assets/search.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 5 additions & 1 deletion .github/cspell/repo_soft.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ nvim
Styleguides
luacheck
yamlfmt
neogit
luarocks
Luasnip
lualine
Expand All @@ -11,3 +10,8 @@ lazygit
Gruvbox
Quickkey
lspconfig
buildx
neotest
javac
pandoc
chafa
107 changes: 44 additions & 63 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,48 @@ universal, extensible IDE setup for web and DevOps development. It emphasizes
modular Lua-based plugin configurations and best practices (e.g., one plugin per
file, LSP integration, and consistent style conventions).

## 🚀 Setup Instructions
![preview](.github/assets/full.png)

1. **Install Neovim** (version >= 0.8) on your system.
## :bookmark_tabs: Table of Contents

- [:rocket: Setup Instructions](#rocket-setup-instructions)
- [:star2: Features](#star2-features)
- [:heart: Acknowledgements](#heart-acknowledgements)
- [:star: Star history](#star-star-history)
- [:coin: Donation](#coin-donation)

## :rocket: Setup Instructions

1. **Install Neovim** on your system.
2. **Clone this repo** into your config directory:
3. Install plugin manager (lazy.nvim) will automatically setup on first launch.
4. Open Neovim and let it install plugins.
5. Install external dependencies listed below.
<!-- markdownlint-diable-file MD013 -->
|External Dependency | Plugins |
|--------------------|---------|
| [git](https://git-scm.com/downloads) | [lazy.nvim](https://github.com/folke/lazy.nvim) [neogit](https://github.com/NeogitOrg/neogit) [mason.nvim](https://github.com/williamboman/mason.nvim) |
| [Nerd Font](https://www.nerdfonts.com/) | [lazy.nvim](https://github.com/folke/lazy.nvim) [render-markdown](https://github.com/MeanderingProgrammer/render-markdown.nvim) [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) [which-key.nvim](https://github.com/folke/which-key.nvim) |
| [luarocks](https://luarocks.org/) | [lazy.nvim](https://github.com/folke/lazy.nvim) |
| [curl](https://curl.se/download.html) | [mason.nvim](https://github.com/williamboman/mason.nvim) |
| [wget](https://www.gnu.org/software/wget/) | [mason.nvim](https://github.com/williamboman/mason.nvim) |
| unzip | [mason.nvim](https://github.com/williamboman/mason.nvim) |
| tar | [mason.nvim](https://github.com/williamboman/mason.nvim) |
| gzip | [mason.nvim](https://github.com/williamboman/mason.nvim) |
| [rg](https://github.com/BurntSushi/ripgrep) | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) [todo-comments.nvim](https://github.com/folke/todo-comments.nvim) |
| [fd](https://github.com/sharkdp/fd) | [telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) |

## 🌟 Features

<!-- markdownlint-disable MD013 -->
| External Dependency | Plugins |
| -------------------------------------------------------- |---------------------------------------------------------------------------------------------------------------------------------------------------- |
| **git** | `gitsigns.nvim`, `auto-session`, `dashboard-nvim` |
| **ripgrep (`rg`)** | `telescope.nvim`, `search.nvim`, `todo-comments.nvim` |
| **fd** | `telescope.nvim`, `search.nvim` |
| **docker** | `telescope-docker.nvim` |
| **docker-compose** | `telescope-docker.nvim` |
| **docker-machine**, **buildx** | `telescope-docker.nvim` |
| **bash** | `nvim-dap` via `bash-debug-adapter`, `neotest-bas |
| **node** | `nvim-dap` via `firefox-debug-adapter`, `neotest-jest`, `conform.nvim` (formatters), many Telescope extensions (`telescope-media-files.nvim`, etc.) |
| **python3** | `nvim-dap` via `debugpy`, `neotest-python`, `conform.nvim` (formatters), `nvim-lint` (linters) |
| **java** / **javac** | `conform.nvim` (`google-java-format`), `nvim-lspconfig` (`jdtls`), `nvim-treesitter` (Java parser) |
| **unzip**, **wget**, **curl**, **gzip**, **tar**, **sh** | `mason.nvim` |
| **npm** / **npx** | `mason-tool-installer.nvim`, `conform.nvim` (formatters) |
| **tree-sitter-cli** | `nvim-treesitter` (only needed if you run `:TSInstallFromGrammar`), `lspsaga.nvim` |
| **luarocks**, **Lua 5.1** | `nvim-colorizer.lua`, `virt-column.nvim`, other plugins that bundle native extensions via LuaRocks |
| **fonts** (Nerd Fonts: Hack, JetBrains Mono, DevIcons) | `bufferline.nvim`, `lualine.nvim`, `statuscol.nvim`, `nvim-web-devicons`, `which-key.nvim`, `dashboard-nvim` |
| **fzf** | `search.nvim` |
| **pandoc** / **latex2html** | `render-markdown.nvim` (LaTeX block rendering) |
| **chafa** | `telescope-media-files.nvim` |
| **sqlite** | `yanky.nvim` |

## :star2: Features

- Modular Plugin Setup: Each plugin config is in its own Lua file (e.g.,
lua/plugin/git/git.lua), promoting clarity and easy updates.
Expand All @@ -49,62 +69,23 @@ version control.
coloring.
- Quickkey Hints: which-key integration for discovering keybindings.

## Hotkeys

| Group | Key(s) | Description |
|---------------------|----------------------|---------------------------------------|
| **File (⎈ f)** | `<leader>ff` | Find files (Telescope) |
| | `<leader>fr` | Recently opened files |
| | `<leader>fg` | Live grep |
| | `<leader>fb` | List buffers |
| | `<leader>fh` | Help tags |
| **Explorer (⎈ e)** | `<leader>e` | Toggle file tree |
| | `<leader>E` | Focus file tree |
| **Git (⎈ g)** | `<leader>gs` | Git status (Neogit) |
| | `<leader>gc` | Git commits |
| | `<leader>gb` | Git branches |
| | `<leader>gd` | Git diff |
| | `<leader>gp` | Git push |
| **LSP (⎈ l)** | `<leader>ld` | Go to definition |
| | `<leader>lh` | Hover documentation |
| | `<leader>li` | LSP info |
| | `<leader>lr` | Rename symbol |
| | `<leader>la` | Code action |
| | `<leader>lf` | Format document |
| | `<leader>le` | Show diagnostics |
| | `<leader>lq` | Set quickfix list |
| **Test/Debug (⎈ t)**| `<leader>tt` | Toggle test summary |
| | `<leader>tn` | Next test |
| | `<leader>tp` | Previous test |
| | `<leader>db` | Toggle breakpoint |
| | `<leader>dc` | Continue (debug) |
| | `<leader>dr` | Run to cursor |
| | `<leader>ds` | Step over |
| | `<leader>di` | Step into |
| **Search/Replace (⎈ s)** | `<leader>sr` | Replace in file |
| | `<leader>sR` | Replace in project |
| | `<leader>ss` | Search word under cursor |
| **Plugins (⎈ p)** | `<leader>pi` | Plugin install |
| | `<leader>pu` | Plugin update |
| | `<leader>ps` | Plugin sync |
| | `<leader>pc` | Plugin clean |

## :heart: Acknowledgements

I would like to thank the entire community, anyone who uses or is inspired by
my dotfiles. To everyone who inspired or helped me (I tried to indicate each
my config. To everyone who inspired or helped me (I tried to indicate each
author in each script or file I borrowed fully or partially).

If you like this project and want to express your gratitude - star this
repository. Or you can donate.

### :star: Star history

[![Star History Chart](https://api.star-history.com/svg?repos=CelticBoozer/nvim-config&type=Timeline&theme=dark)](https://star-history.com/#CelticBoozer/nvim-config&Timeline)
![Star History Chart](https://api.star-history.com/svg?repos=CelticBoozer/nvim-config&type=Timeline&theme=dark)

### :coin: Donation

<!-- cSpell:disable -->
| ![USDT-TRC20](.github/assets/USDT.jpg) | ![BTC](.github/assets/BTC.jpg) | ![ETH](.github/assets/ETH.jpg) |
|:----------------------------------:|:------------------------------------------:|:------------------------------------------:|
| USDT TRC20 | BTC | ETH |
| TGhY5bCn12EDP3MGgs8Qg4YerczhP3PsC5 | bc1qru2p84r3zecva68e804jtjqp923mx2eekqwg3a | 0xb00d88737B0BD4f5cb5fc7519b3d27045b796ceb |
| ![USDT-TRC20](.github/assets/USDT.jpg) | ![BTC](.github/assets/BTC.jpg) | ![ETH](.github/assets/ETH.jpg) |
| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
| USDT TRC20 | BTC | ETH |
| TGhY5bCn12EDP3MGgs8Qg4YerczhP3PsC5 | bc1qru2p84r3zecva68e804jtjqp923mx2eekqwg3a | 0xb00d88737B0BD4f5cb5fc7519b3d27045b796ceb |
1 change: 1 addition & 0 deletions init.lua
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
-- NOTE: Core initialization file for Neovim configuration. Requires and sets up modules.

require("core.options")
require("core.lazy")
require("core.functions")
Expand Down
Loading