Skip to content

๐Ÿ‡ณ ๐Ÿ‡ฝ ๐Ÿ‡ป ๐Ÿ‡ฎ ๐Ÿ‡ฒ

License

Unknown, GPL-3.0 licenses found

Licenses found

Unknown
LICENSE
GPL-3.0
LICENSE-GPL
Notifications You must be signed in to change notification settings

tenxsoydev/nxvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


๐Ÿ‡ณ ๐Ÿ‡ฝ ๐Ÿ‡ป ๐Ÿ‡ฎ ๐Ÿ‡ฒ

Fast and structured PDE configuration to enhance developer experience and productivity.


dots-preview1

Getting Started

At present, first-hand instructions are only provided for Linux. However, since there is not much wizardy involved following along on other platforms should be straightforward.

Prerequisites

Prevent interferences with current Neovim files.

  • When intending to use the default config path ~/.config/nvim

    1. Backup or remove current nvim files for a clean start.

      # Backup example moving nvim config directories from `<path/dir>` to `<path/dir>.bak`
      mv ~/.config/nvim{,.bak} && \
      mv ~/.local/share/nvim{,.bak} && \
      mv ~/.local/state/nvim{,.bak} && \
      mv ~/.cache/nvim{,.bak}
    2. Clone the repository

      git clone --filter=blob:none https://github.com/tenxsoydev/nxvim.git ~/.config/nvim
  • Or, use $NVIM_APPNAME

    1. Export the environment variable

      export NVIM_APPNAME=nxvim
    2. Clone the repository

      git clone --filter=blob:none https://github.com/tenxsoydev/nxvim.git ~/.config/$NVIM_APPNAME

Dependencies

  1. Neovim >= 0.9

  2. Packages

    • APT systems

      sudo apt install git curl unzip xsel ripgrep fd-find sqlite3 libsqlite3-dev trash-cli
    • Arch systems

      sudo pacman -S git curl unzip xsel ripgrep fd sqlite trash-cli
  3. Modules that add support for plugins that interact with the Neovim API

    • Node client for neovim

      npm install -g neovim
    • Python client for neovim

      pip install pynvim

      In case Node or Python pip need to be installed first, please refer to their documentation.

  4. Fonts

    • Nerd font
    • Unicode font (If none is installed by default, noto font packages are usually available via the operating systems package manager).
    • fc-cache -fv helps to update font info cache files when new fonts have been added manually.

Post installation

  • First run

    Launch nvim and let lazy do it's magic, loading all modules used in this config. There may be warnings regarding missing dependencies during this first installation. Just skip them hitting return. Once all tasks have been completed, restart nvim ZQ nvim.

  • Last steps

    • Run :UpdateRemotePlugins to make sure command line fuzzy search works correctly, as it utilizes some python.
    • Add language servers / formatters. E.g.:
      • Add the lua LSP
        LSPInstall lua_ls
      • Also install the formatter used for this config
        NullLsInstall stylua
    • Have fun using it!

Showcase

preview-crop

Quick and dirty demos Toggle visibility...

  • Candies like animated auto window widths, dimming of unfocused windows and smooth scrolling.

    guitui.mov

  • Coding completions; writing aids; a command-palette with error tolerant typehead completion for commands settings and variables.

    helpers.mov

Acknowledgements

Just like most other neovim configurations, this one includes a collection of plugins. It wouldn't be imaginable without the contributions of so many developers in the open source space. Kudos to every author who contributed to the modules used in this configuration.

Disclaimer

Currently, this is rather my personal daily driver then a general-use product. Making it public was driven by colleagues and friends who were interested in getting a share of this config and then liked using it. Getting surprisingly positive feedback even from my grumpiest colleague, led me to believe that this configuration might well have utility for others. However, it may never reach the level and support of a general-use project.


Feel free to use and modify it. Give the project a star to show support if you have found inspiring parts or to keep up to date.

License

The project uses GPLv3-licensed plugins; therefore, the license for the entire bundled config is GPLv3. However, nxvim's own code is written under the more permissive Apache license. This means the GPL limitations do not apply when the configuration is used without the GPL licensed plugins.

Releases

No releases published

Packages

No packages published

Languages