Neovim Configuration Manager (Swap/Backup/Try Configurations Easily)
I created this package because I wanted to try out Lazyvim (which is why it is referenced a few times) and other similar configuration packages and plugins without having to manually move my configuration files each time. I also wanted to be able to easily switch between configurations.
Note Tests have been added. Though, this is still to be considered a WIP. Currently Linux and Windows only.
Notable Features (so far)
- Add multiple configurations
- Conveniently switch between said configs
- Automatic initial backup
- Backup selected/all configurations (demonstrated below)
Warning Make a backup of your current configuration. While NCM will backup your configuration for you, always better to be safe than sorry.
This package uses a file system symlink to swap/change which configuration Neovim will load. When you select a configuration using the load option, it will be symlinked to the
Note An automated backup and setup process has been added.
- Each configuration now has it's own
~/.local/share/nvimdirectories, avoiding any complications when a configuration uses a different nvim package manager, or conflicting versions of plugins.
- Enhanced Windows support (detects XDG_CONFIG_HOME and XDG_DATA_HOME and acts accordingly, else uses $LOCALAPPDATA)
- Initial Windows support
- Automated backup and setup process
sudo apt install just(or equivalent for your distro)
git clone https://github.com/instance.id/ncm-rs.git
just install(installs to
~/.local/bin/ncm(might need to be added to $PATH on Windows))
Add a new configuration
ncm add <name> <path> <description (optional)>
Load a configuration
(Once a configuration is loaded, you can use your normal
$ nvim commands or custom keybindings as ususal)
ncm load <name>
List current configurations
Remove a configuration
ncm remove <name>
Backup current configuration
ncm backup <name (optional)>
Tests are currently located in
settings.rs (more to come) and are automatically run when using
just install but can be run using
just test or