- ❄️ nixvim && community!
- ❄️ siph
- ❄️ elythh
- ❄️ gwg313
- ❄️ MikaelFangel
- ❄️ solid-sinusoid
AI: Choose from Code Companion or Opencode (default:only works on darwin). These will hook into most models.
Thank you Windsurf for tab completion and inline edits. (unlimited)
Hardtime: For forcing you to learn vim, and get hint of better ways.
Precognition: For vim suggestions if you are learning vim motions.
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.
Nix offers declarative, reproducible Neovim configurations. Unlike Lua scripts, Nix ensures consistent setups across machines, automatic dependency management, and version pinning to prevent breakage. It's ideal for users who value reliability and easy config sharing.
To make your own changes to customize to YOUR needs:
- Fork the repo
- Clone the fork
- Make your changes ( comment out/in plugins, change colorscheme, keybindings, etc. )
- add your fork to your inputs in your own flake.nix
- or use stand alone with a nix run git{hub|lab}:username/branch of your fork
Just to list to make you aware of them.
For the bufferline tabs use alt+h | alt+l to toggle between tabs.
Open a file into a vertical split use ctrl+v.
These commands are also used with spacebar menu list.
:h holy-grail # see everything vim can do
:Telescope keymaps # search set keymapsIf nix is installed on your system you can try megavim from either gitlab or github:
nix run gitlab:megacron/megavim
nix run github:octocron/megavimYou can also plug this into a flake to include it into a system configuration.
If you fork, follow the same instructions but replace the url to your fork.
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.


