Skip to content

Repository files navigation

🚀 Neovim Configuration

A clean, modular, and performance-oriented Neovim configuration built to streamline your development workflow.

Neovim Lua License: MIT


📖 Table of Contents


📸 Screenshots

Screenshot 1 Screenshot 2
Screenshot 3 Screenshot 4

✨ Features

  • Modular Architecture: Organized folder structure for easy maintenance (lua/plugins/, lua/config/).
  • Automated Setup: Safe installation script with built-in backup and emergency rollback mechanisms.
  • Performance Focused: Lazy-loading enabled via lazy.nvim.
  • Custom Keymaps & Autocmds: Optimized workflow tweaks.
  • Theme Flexibility: Built-in support for Omarchy with an automated cleanup option.

⚡ Prerequisites

Before installing, ensure you have the following dependencies:

  • Neovim (>= 0.9.0)
  • Git
  • A Nerd Font (Optional, but highly recommended for icons)

🛠️ Setup & Installation

This repository includes a setup.sh script designed to safely manage your Neovim configuration migration.

1. Installation

Clone the repository and run the setup script:

git clone https://github.com/tahadx/nvim-conf.git && cd nvim-conf && chmod +x setup.sh && ./setup.sh

2. What setup.sh does

  • Backup: Creates a timestamped backup of your existing configuration at ~/.config/nvim.bak.[TIMESTAMP].
  • Emergency Cache: Creates an extra backup in ~/.cache/nvim_config_backup. This ensures a safe restore point even if you delete your primary backup.
  • Cleanup: Intelligently installs the new configuration while excluding unnecessary files (like .git, images, and the script itself).

3. Rollback (Disaster Recovery)

If something goes wrong or you need to restore your previous configuration immediately, you can use the built-in rollback command:

chmod +x rollback && ./rollback.sh

Note: This command will restore your configuration using the emergency cache stored in ~/.cache.

🧩 Language Support (LazyExtras)

This configuration utilizes LazyExtras to manage plugins for specific programming languages cleanly and efficiently.

Go, Rust, TypeScript, etc

  1. Open Neovim.
  2. Run the command :LazyExtras.
  3. Browse the UI and easily toggle the languages or tools you need on or off.

📜 License

This project is licensed under the MIT License.

About

⚡ A modern and fast Neovim configuration featuring an automated setup, built-in backups, and easy rollback scripts.

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Contributors

Languages