My personal Neovim config.
This config is built from scratch for the sake of education and control; and comes with no guarantees of functionality or stability. If you do not know exactly why you like this config, you are probably better off with an alternative. Notably, LazyVim for a ready-made setup or kickstart.nvim for a build-your-own config.
- Plugin installation with lazy.nvim
- LSP installation with mason.nvim
- LSP configuration with LSP Zero
- Code screenshots with nvim-silicon
- Java LSP configuration with nvim-jdtls
- Rust LSP configuration with rustaceanvim
- Spelling and grammar checking with Harper
- Live markdown preview rendering with markdown-preview.nvim
- Startup screen with alpha
- Has four possible header artworks,
see
lua/config/alpha.lua
for more details
- Has four possible header artworks,
see
- Silicon
- CMake
g++
orclang++
(configurable, seeftplugin/cpp.lua
)- Ninja (configurable, see
ftplugin/cpp.lua
)
- Node.js
- npm
- This config is built and used with node.js v20.12.2
(installed through
nvm install --lts
), but older or newer versions would likely work fine
- Rust toolchain
- Cargo
rustc
- rust-analyzer
- Could also be installed with mason.nvim,
and there is a commented out line in
init.lua
to do so, but installing as a part of your toolchain (rustup compent add rust-analyzer
) helps to avoid version inconsistencies
- Could also be installed with mason.nvim,
and there is a commented out line in
- A Java Development Kit
- This project is built and developed on OpenJDK 21, but older or newer versions would likely work fine
- Specifically, this project is built and developed
on
openjdk-21-jdk
from the Ubuntu 24.04 repositories - This project is not tested on Windows, but Eclipse Temurin is my go-to OpenJDK distribution on Windows
- Ripgrep
- A POSIX-compatible shell (provides
sh
), Bash, curl, wget, tar, gzip, and unzip - Neovim 0.11.0
- As of Telescope commit
85922dd
, Neovim must be compiled with LuaJIT - This project is built and used on Neovim Unstable on Ubuntu 24.04
- As of Telescope commit
fd
(optional)
- Assumes
$XDG_CONFIG_HOME
==~/.config
. Adjust accordingly if this is otherwise - Assumes
~/.config/nvim
does not already exist. If it does, remove it (preferably with a backup) before installation - Assumes that you have installed the requirements
mkdir ~/.config
cd ~/.config
git clone https://github.com/RemasteredArch/nvim-config.git nvim/
- Designed for Ubuntu 24.04, but would probably work on other versions or other
apt
-based distributions - This is currently COMPLETELY UNTESTED! Feel free to use it as a reference, but it is currently only a part of this repository in order to facilitate development
# Again, this is COMPLETELY untested!
curl https://raw.githubusercontent.com/RemasteredArch/nvim-config/main/setup.sh | bash
# DO NOT RUN THIS if you are not certain that it is okay!
nvim-config is licensed under the GNU Affero General Public License version 3, or (at your option) any later version. You should have received a copy of the GNU Affero General Public License along with nvim-config, found in LICENSE. If not, see https://www.gnu.org/licenses/.
nvim-config contains code from other software.
See COPYING.md
for more details.