tauconf.nvim

tauconf.nvim logo

tauconf.nvim is a customized Neovim configuration primarily written in Lua, aimed at optimizing development workflows. This setup includes essential plugins, a consistent color scheme, and efficient keybindings to improve productivity.

  Documentation · Tutorials . Changes
Open Source & License MIT License
Latest Release & CI Latest release Last commit LuaLint
Community & Code Stars Issues Repo Size
Technical Info Neovim Lua

Table of Contents

  1. Introduction
  2. Features
  3. Dependencies
  4. Installation
  5. Configuration Structure
  6. Usage
  7. Advanced Configuration
  8. Backup and Restore
  9. Troubleshooting
  10. FAQ
  11. Contributing
  12. Credits and Acknowledgments
  13. License
  14. Contact
  15. Glossary
  16. Changelog

Introduction

tauconf.nvim is my personalized Neovim configuration designed to provide a comprehensive and efficient development environment. It features a collection of essential plugins, a well-chosen color scheme, and optimized keybindings, tailored for both new and experienced users.

Features

Dependencies

Core Requirements

Optional Tools

Installation

Windows

  1. Install Neovim:
    • Using winget:
      winget install Neovim.Neovim
      
    • Or chocolatey:
      choco install neovim
      
  2. Install Dependencies:
    • With winget:
      winget install Git.Git Nodejs.Node Python.Python ripgrep.Grep gcc make
      
    • Or with chocolatey:
      choco install git nodejs python ripgrep make gcc
      
  3. Update PATH: Ensure Neovim and all dependencies are included in your PATH environment variable.

macOS

  1. Install Homebrew:
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. Install Neovim and Dependencies:
    brew install neovim git node python3 ripgrep fd
    

Linux

  1. Arch Linux:
    sudo pacman -S neovim git nodejs python ripgrep fd gcc make
    
  2. Debian/Ubuntu:
    sudo add-apt-repository ppa:neovim-ppa/stable
    sudo apt update
    sudo apt install neovim git nodejs python3 gcc make ripgrep fd-find
    

    (Note: On Ubuntu, fd is fd-find. Create a symlink if necessary: ln -s $(which fdfind) ~/.local/bin/fd.)

  3. Fedora:
    sudo dnf install neovim git nodejs python3 ripgrep fd-find gcc make
    
  4. OpenSUSE:
    sudo zypper install neovim git nodejs python3 ripgrep fd gcc make
    
  5. Gentoo:
    sudo emerge -av neovim git nodejs python ripgrep fd gcc make
    

Configuration Structure

The configuration is organized as follows:

~/.config/nvim/
├── init.lua         -- Main configuration file
├── lua/
│   ├── plugins/     -- Plugin configurations
|   |   ├── all plugin modules
│   ├── settings.lua -- General settings (e.g., tabs, appearance)
│   ├── keymaps.lua  -- Custom keybindings
|   ├── lazy-setup.lua
|   ├── health.lua
│   └── lsp/         -- LSP configurations
    |   ├── servers.lua -- Lsp config

Usage

Keybindings

LSP Setup

tauconf.nvim uses mason.nvim for managing LSP servers. Install new servers with:

:MasonInstall <server-name>

Advanced Configuration

To further customize your setup:

Backup and Restore

Backup:

Restore:

Troubleshooting

Common Errors and Solutions

  1. Neovim Not Launching

    Error Message: command not found: nvim

    Solution:

    • Verify Neovim is installed and included in your PATH.
    • Confirm installation with nvim --version.
  2. Plugin Installation Issues

    Error Message: Error: Plugin not found

    Solution:

    • Check lua/plugins/plugins.lua for correct plugin names and sources.
    • Ensure network access and correct permissions.
  3. Missing Dependencies

    Error Message: command not found: <dependency>

    Solution:

    • Install missing dependencies using your system’s package manager.
    • Use brew install <dependency> on macOS or sudo apt install <dependency> on Ubuntu.
  4. LSP Server Not Working

    Error Message: LSP server not found

    Solution:

    • Install the LSP server using :MasonInstall <server-name>.
    • Check lua/lsp/servers.lua for accurate configuration.
  5. Syntax Highlighting Issues

    Error Message: Error in treesitter configuration

    Solution:

    • Ensure treesitter is installed and up-to-date.
    • Update parsers with :TSUpdate.
  6. File Explorer Not Showing Files

    Error Message: nvim-tree not showing files

    Solution:

    • Verify nvim-tree configuration in lua/plugins/plugins.lua.
    • Refresh the file explorer with <Leader>e.
  7. Performance Issues

    Error Message: Neovim is slow

    Solution:

    • Check for conflicting plugins or excessive configuration.
    • Profile startup time using :profile commands.

For unresolved issues, please visit the issue tracker or consult the troubleshooting guide.

FAQ

Q1: What is tauconf.nvim?

Q2: How can I customize my setup?

Q3: How do I add new plugins?

Q4: What if I encounter issues during setup?

A:** Refer to the troubleshooting section or open an issue on the issue tracker.

Contributing

I welcome contributions to tauconf.nvim to enhance the configuration for all users. Here’s how you can contribute:

  1. Report Issues: Create an issue on the issue tracker for bugs or feature requests.
  2. Submit Pull Requests: Contribute code improvements or bug fixes by submitting a pull request. Use the issue template for bug reports and the pull request template for PRs. Ensure that your changes are well-documented and tested.
  3. Provide Feedback: Share suggestions and feedback to improve tauconf.nvim.

For detailed contributing guidelines, refer to the CONTRIBUTING.md.

Credits and Acknowledgments

I would like to express my gratitude to the following individuals and communities for their invaluable contributions and support:

Your contributions have been instrumental in creating and improving tauconf.nvim.

License

This project is licensed under the MIT License. You are free to use, modify, and distribute it as needed.

Contact

For questions or further information, please reach out via the issue tracker or directly on GitHub.

Glossary

Changelog

For detailed updates and changes to tauconf.nvim, refer to the CHANGELOG.md.