- ❄️ nixvim && community!
- ❄️ siph
- ❄️ elythh
- ❄️ gwg313
- ❄️ MikaelFangel
- ❄️ solid-sinusoid
Codium: with ability to connect project context to your account.
Hardtime: For forcing you to learn vim, and get hint of better ways.
Precognition: For vim suggestions.
Glow: To toggle markdown preview.
LazyGit: For easy git management.
Linting, formatting, syntax highlighting, etc...for most languages.
Keep context for deeply nested code.
A Nix version of Neovim.
Nixvim input is locked to prevent breaking changes but updated every few months.
For the bufferline tabs use alt+h | alt+l to toggle between tabs.
These commands are also used with spacebar menu list.
Just to list to make you aware of them.
:h holy-grail # see everything vim can do
:Telescope keymaps # search set keymaps
If using nix you can try with either gitlab or github:
nix run gitlab:megacron/megavim
nix run github:octocron/megavim
You can also plug this into a flake to include it into a system configuration.
Make sure that neovim is UNINSTALLED!! Otherwise megavim cannot set itself as default!
# flake.nix use with ref to ensure it pulls from the correct branch with latest.
{
inputs = {
megavim.url = "gitlab:megacron/megavim?ref=nixvim";
};
}
# configuration.nix // choose either NixOS or home-manager
{ inputs, system, ... }:
{
# NixOS
environment.systemPackages = [ inputs.megavim.packages.${pkgs.system}.default ];
# home-manager
home.packages = [ inputs.megavim.packages.${pkgs.system}.default ];
}
When installed this way there may come a time you want to update megavim without
updating the whole system (flake). We can pick a single input this way:
# Check for and update only megavim
nix flake lock --update-input megavim
# if the lock file update just do a rebuild
sudo nixos-rebuild switch --flake ~/some/path/
This input can then be used as an overlay to replace the default neovim.
This means that we DO install neovim, then overlay it.
{ megavim, ... }:
{
overlays = (final: prev: {
neovim = megavim.packages.${prev.system}.default;
});
}
devShells.default = nixpkgs.mkShell {
nativeBuildInputs = [ megavim.packages.${pkgs.system}.default ];
};
You can find more information on building your own flake
here.