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.
- 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 ~/.config/nvim
directory.
Note An automated backup and setup process has been added.
0.0.6
- Each configuration now has it's own
~/.config/nvim
and~/.local/share/nvim
directories, 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)
0.0.5
- Initial Windows support
- Added
ncm backup
command - Automated backup and setup process
sudo apt install just
(or equivalent for your distro)git clone https://github.com/instance.id/ncm-rs.git
cd ncm-rs
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)>
(Once a configuration is loaded, you can use your normal $ nvim
commands or custom keybindings as ususal)
ncm load <name>
ncm list
ncm remove <name>
ncm backup <name (optional)>
Tests are currently located in configs.rs
and settings.rs
(more to come) and are automatically run when using just install
but can be run using just test
or cargo test